Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Upload
Forum PHP.pl > Forum > Przedszkole
Professor
Witam
Ponizej przedstawiam wycinki kodu i prosze o jakiekolwiek info dlaczego to moze nie dzialac . Z gory dzieki.
  1. <form name="form1" method="post" action="upload/upload.php" enctype="multipart/form-data">//tak wyglada deklaracja form.
  2.  
  3. <input name="zdjecie" type="file" >
  4. <input type="hidden" name="ok" value="1">
  5. <input type="hidden" name="MAX_FILE_SIZE" value="10000">//ta zmienna chce przesylac nazwe pliku

----------- plik upload.php---------- katalog upload ma prawa dostepu 777
  1. <?php
  2.  
  3. $file1 = $HTTP_POST_VARS['zdjecie'];
  4.  
  5. @$file_name1=StripSlashes($file1);
  6. @$file_temp=$file_name1;
  7. $tab1=explode(&#092;"\",$file_temp); 
  8. $numer=(sizeof($tab1)-1);
  9. @$file=$tab1[$numer];
  10.  
  11. ?>

ponizej przedstawiam bledy ktore mi wyskakuja
26.JPG------1//to jest nazwa przesylanego zdjecia i zmienna ok
Warning: Unable to open '26.JPG' for reading: No such file or directory in /var/www/html/miazga/upload/upload.php on line 16

Warning: unlink() failed (No such file or directory) in /var/www/html/miazga/upload/upload.php on line 17
Plik został skopiowany
Informacje o skopiowanym pliku:
Nazwa pliku:
Wielko�ć pliku:
-------------------------------------------
[kszychu] Proszę o używanie bbcode!!!
scanner
Zwróć uwagę na kolorowanie składni:
  1. <?php
  2. $tab1=explode(&#092;"\",$file_temp); 
  3. ?>
Widać przecież wyraźnie, ze coś tu nie bangla.
znak \ jest wewnątrz stringa ogranioczonego przez " " znakiem specjalnym escape'ującym inne znaki. zatem, jełsi nie masz żądnych kodów strerujących wewnątrz zadanego stringa, wystarczy zrobić:
  1. <?php
  2. $tab1=explode('', $file_temp); 
  3. ?>
Co już wygląda w kolorwaniu lepiej.

Pozatym, dobzre radzę wywalić te wszystkie małpy i zacząć zwracać uwage na wszystkie komunikaty błędów, jakie wypluwa parser.
Professor
Witam
Sam odpowiadam na zadane wczesniej pytanie, trzeba uzyc funkcji move_uploaded_file($HTTP_POST_FILES['zdjecie']['tmp_name'], $uploadfile); i jest po klopocie.
Pozdrawiam cool.gif
SET
ja pisze właśnie upload ->

upload.php
  1. <?php
  2.  
  3. $uploaddir = 'upload/avatar/';
  4. $uploadfile = $uploaddir . $_FILES['avatar']['name'];
  5. $file = $_FILES['avatar']['name'];
  6.  
  7. @ $avatar_size = $_POST['avatar']['size'];
  8. @ $avatar_error = $_POST['avatar']['error'];
  9.  
  10. if($avatar_error > 0)
  11. {
  12. echo 'Problem: ';
  13. switch ($avatar_error)
  14. {
  15. case 1: echo 'Rozmiar pliku przekroczył wartosc upload_max_filesize';
  16. break;
  17.  
  18. case 2: echo 'Rozmiar pliku przekroczył wartosc upload_max_file';
  19. break;
  20.  
  21. case 3: echo 'Plik wysłany tylko częściowo';
  22. break;
  23.  
  24. case 4: 'Nie wysłano żadnego pliku';
  25. break;
  26. }
  27. }
  28.  
  29.  /////////////////////////////////
  30.  // SPRAWDZENIE PLIKU //
  31.  ////////////////////////////////
  32.  
  33. $result_array = explode('.', $file);
  34.  
  35. if ($result_array != false) 
  36. {
  37.  $mime_type = $result_array[1];
  38.  switch($mime_type) 
  39.  {
  40.  case 'jpg': echo 'Rozszerzenie: .JPG';
  41.  break;
  42.  case 'jpeg': echo 'Rozszerzenie: .JPEG';
  43.  break;
  44.  case 'jpe': echo 'Rozszerzenie: .JPE';
  45.  break;
  46.  
  47.  case 'gif': echo 'Rozszerzenie: .GIF';
  48.  break;
  49.  
  50.  case 'png': echo 'Rozszerzenie: .PNG';
  51.  break;
  52.  }
  53. }
  54.  else 
  55.  {
  56.  echo 'Plik nie jest zdjęciem.';
  57.  exit;
  58.  }
  59.  
  60.  $obrazek = getimagesize($_FILES['avatar']['tmp_name']);
  61.  
  62.  if($obrazek == false)
  63.  {
  64.  echo 'Plik nie jest zdjęciem.';
  65.  exit;
  66.  }
  67.  
  68.  /////////////////
  69.  // KONIEC //
  70.  ////////////////
  71.  
  72.  
  73. if (move_uploaded_file($_FILES['avatar']['tmp_name'], $uploadfile)) 
  74. {
  75. echo 'Upload zakończony pomyślnie.';
  76. rename(&#092;"upload/avatar/\".$_FILES['avatar']['name'], \"upload/avatar/1.jpg\");
  77. }
  78.  else 
  79. echo 'Upload zakończony niepowodzeniem.';
  80. ?>




formularz
  1. <?php
  2. <form enctype="multipart/form-data" method="POST" action="upload.php" name="rejestracja">
  3.  
  4. <table cellpadding="0" cellspacing="0" border="0"><tbody>
  5.  
  6. <!--
  7. AVATAR -->
  8.  
  9. <tr>
  10. <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
  11. <td>LOKALIZACJA:</td>
  12. <td>
  13. <input type="file" name="avatar" style="width: 121px"></td>
  14. </tr>
  15.  
  16. <tr><td>
  17. <input type="image" value="OK" src="ok.gif" border="0" />
  18. <a href="javascript:Reset();"><img src="wyczysc.gif" border="0" /></a>
  19. </tbody></table></form>
  20. ?>


to jest wersja rozwojowa (działa poprawnie) smile.gif
Kocurro
radzilbym jeszcze uzyc funkcji biblioteki gd aby sprawdzic rzeczywisty typ pliku - czy rzeczywiscie jest obrazkiem czy tylko fake jpg z wirusem - odpowiednio spreparowany plik jpg i IE wykonuje kod w nim zawarty a to nie dobrze...
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.