Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z skryptem uploadu
Forum PHP.pl > Forum > PHP
MorF
Witajcie,
Pisze dla kolegi galerię i napotkałem na problem, ktorego nie bardzo umiem rozwiązać.
Mam skrypt uploadujący m.in pojedyncze zdjecie na serwer i dodające je do albumu oraz druga jego opcja to dodanie archiwum zip, pliki zostają wypakowane przy uzyciu clasy Pclzip do katalogu tymczasowego i przeniesione pod inna lokację z inna nazwą.
Wszystko ladnie dziala na archiwach ponizej 3-4MB problem pojawia sie gdy chce wgrać archiwum nieco większe, poniewaz funcja dodania sie "nie wykonuje" a strona tylko jakby się odswiezala - zadnych bledow,
na poczatku myslalem ze to problem konfiguracji php.ini - zwiekszylem tam maksymaly rozmiar plikow uploadu oraz pamiec zarezerwowana dla skryptu, niesety nie pomoglo,
probowalem wprowadzic mały debuging aby dowiedziec sie o co tak naprawde chodzi ale niestety nie zwraca zadnych komunikatow tylko przeladowuje strone
oto strona odpowiedzialna za to:
  1. <?php
  2. function AddPhoto2($fnazwa,$album)
  3. {
  4. $katalog="../tmp/";
  5. $nazwa=md5($fnazwa.microtime()).".zip";
  6.  
  7. if (is_uploaded_file($_FILES[$fnazwa]['tmp_name']))
  8. {
  9.  
  10. if (move_uploaded_file($_FILES[$fnazwa]['tmp_name'], $katalog.$nazwa))
  11. {
  12.  
  13. $naz=$katalog.$nazwa;
  14.  
  15.  require_once('../config/pclzip.lib.php');
  16. $archive = new PclZip($naz);
  17.  
  18. if (($v_result_list = $archive->extract()) == 0) {
  19. die("Error : ".$archive->errorInfo(true));
  20. echo "Wypakowano:";
  21. var_dump($v_result_list);
  22.  
  23. }
  24.  unlink ($naz);
  25.  
  26. if ($handle = opendir($katalog)) {
  27.  
  28. $z=0;
  29.  while (false !== ($file = readdir($handle))) {
  30.  
  31. $z++; 
  32. if ($file!="." AND $file!="..") {
  33. $nowa_nazwa='../foto/'.md5(microtime().$z).'.jpg';
  34. rename ($katalog.$file,$nowa_nazwa);
  35. $zapytanie="INSERT INTO `zdjecie` (IDalbumu,sciezka) VALUES ('{$album}','{$nowa_nazwa}')";
  36. mysql_query($zapytanie)
  37.  or die( "Wystapil nieoczekiwany blad. Sprobój ponownie n $zapytanie" );
  38. }
  39.  }
  40. }
  41.  
  42. }else{ echo "plik nie przeniesiony";}
  43.  }else {if ($_FILES[$fnazwa]['error']==1){echo "Plik przekracza maksymalna dopuszczalną wielkość ustawiana w pliku php.ini - skontaktuj sie z administratorem serwera";}; return 0;}
  44.  
  45. return 1;
  46.  
  47. }
  48.  
  49.  
  50. function AddZipPhoto($album)
  51. {
  52. if (isset($HTTP_POST_VARS['dodaj'])){
  53.  
  54. if (AddPhoto2('zip',$album)){
  55. echo "dodano wszystko";
  56. }else{
  57. echo "<br>Wystapil blad przy przesylaniu pliku na server, sprobuj ponownie";
  58. }
  59. echo "tralala";
  60. }else{
  61. echo ("<form method='POST' enctype='multipart/form-data' action='add_foto.php?jak=2&album=".$album."'>
  62. Zdjęcie :<input type='file' name='zip'>
  63. <input type=hidden name='MAX_FILE_SIZE' value='2048000'><br>
  64. <input type=hidden name='IDalbumu' value='".$album."' >
  65. <input type='submit' name='dodaj' value='Dodaj'>");
  66. echo "<h3>Uwaga</h3><br>Wielkość pliku zależy od ustawien servera(zazwyczaj do 2MB)! <br> Plik zip musi byc tak skonstruowany aby po rozpakowaniu otrzymać zdjecia bez katalogów";
  67. }
  68. }
  69. ?>


Po dodaniu wiekszego pliku wyswietla tylko powyzszy formularz
Jest to o tyle irytujące, ze nie wiem zupelnie co zmienic ...
Bardzo dziekuje i proszę o pomoc.
misiek172
Musisz dodać do formularza:

<input type="hidden" name="MAX_FILE_SIZE" value="xxx">

gdzie 'xxx' to maksymalna pojemność pliku.
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.