Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Seryjny upload obrazków z warunkami
Forum PHP.pl > Forum > Przedszkole
serv
Witam!

Mam formularz w którym wrzucam sobie pliki...
  1. <?php
  2. echo '<form action="job.php?id=realise_add_s" method="post">
  3. Temat: <input name="Text1" type="text" /><br />Opis:';
  4. $sBasePath = $_SERVER['PHP_SELF'] ;
  5. $sBasePath = substr( $sBasePath, 0, strpos( $sBasePath, "_samples" ) ) ;
  6.  
  7. $oFCKeditor = new FCKeditor('home') ;
  8. $oFCKeditor->BasePath       = $sBasePath ;
  9. $oFCKeditor->Value              = '' ;
  10. $oFCKeditor->Width  = '100%' ;
  11. $oFCKeditor->Height = '550' ;
  12. $oFCKeditor->Create() ;
  13. echo '
  14.       <br />
  15. Zdjęcia: <input name="File1" type="file" /><br />
  16.       <input name="File2" type="file" /><br />
  17.       <input name="File3" type="file" /><br />
  18.       <input name="File4" type="file" /><br />
  19.       <input name="File5" type="file" /><br />
  20.       <input name="File6" type="file" /><br />
  21.       <input name="File7" type="file" /><br />
  22.       <input name="File8" type="file" /><br />
  23.       <br />
  24. <input name="Submit1" type="submit" value="Zapisz" /></form>
  25. ';
  26. ?>


No i cóż... wszystkie dane mi przechodzą dalej oprócz obrazków sad.gif
Skrypt wykonawczy:

  1. <?php
  2. $licz = 1;
  3. while ($licz < 9) {
  4. $file = 'File'.$licz;
  5. if(!empty($_FILES[$file])) {
  6.  
  7. $width = 500;
  8. $height = 500;
  9. $images_res = $_FILES[$file]['tmp_name'];
  10. $path_res = 'images/';
  11. $name = $_FILES[$file]['tmp_name'];
  12. require('img_res.php');
  13. $width = 150;
  14. $height = 150;
  15. $images_res = $_FILES[$file]['tmp_name'];
  16. $path_res = 'images/mini/';
  17. $name = $_FILES[$file]['tmp_name'];
  18. require('img_res.php');
  19. }
  20. $licz = $licz + 1;
  21. }
  22.  
  23. echo '<a href="java script: history.go(-1)">Wróć</a>';
  24. $query = "INSERT INTO `realis` (`id` ,`name` ,`add` ,`desc` ,`img1` ,`img2` ,`img3` ,`img4` ,`img5` ,`img6` ,`img7` ,`img8`) VALUES (
  25. NULL , '".$_POST['Text1']."', NOW( ) , '".$_POST['home']."', '".$_FILES['File1']['name']."', '".$_FILES['File2']['name']."', '".$_FILES['File3']['name']."', '".$_FILES['File5']['name']."', '".$_FILES['File5']['name']."', '".$_FILES['File6']['name']."', '".$_FILES['File7']['name']."', '".$_FILES['File8']['name']."'
  26. );";
  27. mysql_query ($query) or die ('Błąd-> '.mysql_error());
  28. echo 'Zmiany zostały zapisane!<br>';
  29. ?>


plik img_res.php wygląda tak:

  1. <?php
  2. // Zmienne które muszą być zadeklarowane:
  3. //$width - max długość
  4. //$height - max wysokość
  5. //$images_res - plik
  6. //$path_res - ścieżka
  7. $filename = $images_res;
  8.  
  9.  
  10. list($width_orig, $height_orig) = getimagesize($filename);
  11.  
  12. $ratio_orig = $width_orig/$height_orig;
  13.  
  14. if ($width/$height > $ratio_orig) {
  15.   $width = $height*$ratio_orig;
  16. } else {
  17.   $height = $width/$ratio_orig;
  18. }
  19.  
  20. $image_p = imagecreatetruecolor($width, $height);
  21. $image = imagecreatefromjpeg($filename);
  22. imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
  23.  
  24. // Output
  25. imagejpeg($image_p, $path_res . $conf, 75);
  26.  
  27. ?>


Sposób działania jest prosty: podwójny zapis w dwóch różnych rozmiarach pod warunkiem że pole zostało wypełnione (jeśli nie zostało wypełnione ma być pomienięte)

Proszę o pomoc,
Pozdrawiam!
wookieb
http://pl2.php.net/manual/pl/features.file-upload.php
Zobacz parametr enctype dal forma.
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-2025 Invision Power Services, Inc.