Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt dodawania obrazków/zdjęć
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
Spawacz123
Witam serdecznie poszukję skryptu w php który dodawał by zdjęcia na serwer FTP i jednocześnie link do tych obrazków do bazy MysQl, do osobnej tabeli.

W html ma być przcisk DODAJ WIĘĆĘJ ZDJĘĆ i po kliknięciu tego ma się pokazać jeszcze jeden input.
jak na www.iv.pl
thek
Coś takiego to JavaScript, który w DOM wstawia dodatkowy input o typie file.
Spawacz123
Niestety lepiej Idzie mi grafika a nie programowanie czy kodowanie i niestety nic nie rozumie :/:/
jeremiash
Kiedyś korzystałem z takiego skryptu. Jest tam trochę śmieci (coś niepotrzebnego dodawałem do bazy danych) - oblukaj i wyrzuć.

add_form_foto.php
  1. <body bgcolor="#7db4d7">
  2.  
  3. <b>DODAJ ZDJECIE:</b><br /> <br />
  4.  
  5. <form action="send.php" method="post" enctype="multipart/form-data" name="add_file">
  6. <input name="plik" type="file" class="form_foto" size="50"/>
  7. <input name="max_file_size" type="hidden" value="1048576" />
  8. <input value="Wyślij plik" type="submit" />
  9. </form>
  10.  
  11. </body>
  12. </html>



send.php
  1. <?php
  2.  
  3. include('top.php');
  4.  
  5. $p_pojemnosc=$_FILES['plik']['size'];//pojemnosc pliku
  6. $p_typ=$_FILES['plik']['type']; // typ pliku
  7. $p_nazwa=$_FILES['plik']['name']; // nazwa pliku
  8. $p_smiec=$_FILES['plik']['tmp_name']; // chwilowa nazwa pliku
  9.  
  10. //wycinamy rozszerzenie z pobieranego pliku
  11. $p_roz= array_pop(explode(".", $p_nazwa));
  12.  
  13. /* odbieramy dane z pola ukrytego i zaokrąglamy je do 3 miejsca
  14.   po przecinku/dzielimy przez 1204*1024 by było w MB*/
  15. $max_size=round(($_POST['max_file_size']/1048576),3)."MB";
  16.  
  17.  
  18. //zaokrąglamy "round" do 2 miejsc po przecinku i przeliczamy rozmiar pliku na MB
  19. $poj_MB=round(($p_pojemnosc/1048576),2).'MB';
  20.  
  21. //kodujemy nasz plik metodą MD5 i dodajemy date i godzinę oraz rozszerzenie pliku
  22. $p_nazwa_zm=($p_nazwa);
  23. $folder="/admin/files/akt/";
  24.  
  25.  
  26. if ($p_pojemnosc <= 0)
  27. {
  28. echo ("Plik jest pusty nie mogę go przesłać <b>".$k_cze.$p_nazwa." ".$poj_MB.$f_koniec."</b><br />");
  29. }
  30.  
  31. if ($poj_MB > $max_size)
  32. {
  33. echo("Plik jest za duży maksymalnie można wysłać <b>".$k_cze.$max_size.$f_koniec."</b>"." .Plik wysyłany ma rozmiar <b><i>".$k_nieb.$poj_MB.$f_koniec."</b></i><br />");
  34. }
  35.  
  36. if (file_exists($folder.$p_nazwa_zm))
  37. {
  38. echo ("Plik o takiej nazwie już istnieje <b><i>".$p_nazwa_zm."</b></i><br />");
  39. }
  40.  
  41. else {
  42. if(!@move_uploaded_file($p_smiec, $folder.$p_nazwa_zm)){
  43.  
  44. echo 'Nie mozna zachowac pliku. Prawdopodobnie nie ma folderu lub nie można w nim zapisać';
  45. echo "<a href='download.php' target='middle'>Spróbuj ponownie...";
  46.  
  47. }else{
  48.  
  49. echo "Przeslanie udało się - <b>".$k_nieb.$p_nazwa."</b>"." ".$poj_MB."<br />";
  50. $path_file=$folder.$p_nazwa_zm;
  51.  
  52.  
  53. include_once('function.php');
  54.  
  55.  
  56. $pol=polaczenie_pbd();
  57. $y=1;
  58.  
  59. $sqqll="SELECT id_dane , rodzaj FROM tmp WHERE id_niepotrzebny='$y' ";
  60. $rezultacik=@mysql_query($sqqll);
  61.  
  62. while($rr=mysql_fetch_array($rezultacik)){
  63. $przekaz=$rr['id_dane'];
  64. $przekaz_2=$rr['rodzaj'];
  65. }
  66. if ($przekaz_2==2) {
  67. echo 'dla tej opcji tekstu nie mozna dodac zdjecia! ';
  68. }else{
  69.  
  70. $zapytanie=mysql_query("insert into pliki values('$przekaz',NULL,'$p_pojemnosc','$path_file','$p_typ')");
  71. ?> <font color="#3b6a0d" size="2"><b> plik został zapisany</b></font><?php
  72. }
  73. echo "<br />";
  74.  
  75. ?>
  76.  
  77. <b>DODAJ KOLEJNE ZDJECIE:</b><br />
  78.  
  79. <form action="send_akt.php" method="post" enctype="multipart/form-data" name="add_file">
  80. <input name="plik" type="file" class="form_foto" size="50"/>
  81. <input name="max_file_size" type="hidden" value="1048576" />
  82. <input value="Wyślij plik" type="submit" />
  83. </form>
  84.  
  85.  
  86.  
  87.  
  88. <iframe src="minimalizacja.php" frameborder="0" scrolling="no" name="" width="1" height="1">
  89. </iframe>
  90. <?php
  91.  
  92. }
  93. }
  94.  
  95. include('bottom.php');
  96. ?>


minimalizacja.php
  1. header('Content-type: image/jpeg');
  2.  
  3. include('top.php');
  4. include_once('function.php');
  5. include_once('foto.php');
  6.  
  7. $pol=polaczenie_pbd();
  8. $y=1;
  9.  
  10. $sqqll="SELECT id_dane , rodzaj FROM tmp WHERE id_niepotrzebny='$y' ";
  11. $rezultacik=@mysql_query($sqqll);
  12.  
  13. while($rr=mysql_fetch_array($rezultacik)){
  14. $przekaz=$rr['id_dane'];
  15. $przekaz_2=$rr['rodzaj'];
  16. }
  17.  
  18. $lqs="SELECT nazwa FROM pliki WHERE id_dane='$przekaz'";
  19. $ressult=@mysql_query($lqs);
  20.  
  21. while ($gat=mysql_fetch_array($ressult)) {
  22. $adres=$gat['nazwa'];
  23. }
  24. $szerokosc=70;
  25.  
  26. $obrazek=skaluj($adres, $szerokosc);
  27. $lokalizacja_miniaturki= '/miniaturki' . $adres;
  28. header('Content-type: image/jpeg');
  29. imagejpeg($obrazek,$lokalizacja_miniaturki);
  30.  
  31. include('bottom.php');





foto.php
  1. function skaluj($adres, $szerokosc)
  2. {
  3.  
  4. // funkcja obsługuje również adresy internetowe jak http i ftp
  5. $pobierz = @file_get_contents($adres);
  6. $src = @imagecreatefromstring($pobierz);
  7. if (!$pobierz or !$src ) return false;
  8. unset($pobierz);
  9.  
  10. $pic_width = imagesx($src);
  11. $pic_height = imagesy($src);
  12. if (($szerokosc == $pic_width) or ($szerokosc == null)) return $src;
  13. $mini_width = $szerokosc;
  14. $mini_height = round($szerokosc * ($pic_height/$pic_width));
  15. $mini = imagecreatetruecolor($mini_width, $mini_height);
  16. imagecopyresampled($mini, $src, 0, 0, 0, 0, $mini_width, $mini_height, $pic_width, $pic_height);
  17. return $mini;
  18. imagedestroy($mini);
  19. }


To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.