Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dodawanie pliku na serwer
Forum PHP.pl > Forum > Przedszkole
szczureczek
Witam!
Jest to moj pierwszy post, wiec prosze wybaczyc mi ewentualne bledy smile.gif

Nie moge poradzic sobie z dodawaniem pliku na serwer. Plik nie jest wogole dodawany. Najprawdopodobniej przyczyna tkwi w tym, ze nastapila zmiana wersji php4 na php5 na serwerze.
Czy mogl by mi ktos pomoc poprawic bledy w kodzie?
  1. function uploadowanie($plik, $baza_name, $upd, $rozm)
  2. {
  3. $tmp = $plik['tmp_name'];
  4. $nam = $plik['name'];
  5. $siz = $plik['size'];
  6.  
  7.  
  8. if (($siz<$rozm*1024)&&(is_uploaded_file($tmp)))
  9. {
  10. $pos = strrpos($nam,'.');
  11. $new_file = sprintf("%s_%d.%s",substr($nam,0,$pos),$upd,substr($nam,$pos+1));
  12. echo "$plik $new_file<BR>\n"; #dlaczezgo nie dziala?
  13. copy($tmp, "/sciezka do plikow/$new_file");
  14. if ($baza_name != '')
  15. $zmiana = "$baza_name='$new_file',";
  16. else
  17. $zmiana = "'$new_file',";
  18. }
  19. return $zmiana;
  20. }

Dziekuje i pozdrawiam!
gothye
sprawdź czy nie wysyłasz pliku o więkrzym rozmiarze niż dozwolonym w warunku if
-szczureczek-
To pierwsze sprawdzilem i niestety nie to.
Wydaje mi sie ze problem moze byc z is_uploaded_file i jego prawidlowym funkcjonowaniem pod php5, ale nie wiem jak to ugryzc. sadsmiley02.gif
wNogachSpisz
  1. // rozpoczynamy przenoszenie pliku
  2.  
  3. $output_path = "upload/chunks/{$file_id}.{$chunk_id}";
  4.  
  5. if ( isset($_SERVER['CONTENT_TYPE'])) {
  6. $content_type = $_SERVER['CONTENT_TYPE'];
  7. }
  8. else if ( isset($_SERVER['HTTP_CONTENT_TYPE'])) {
  9. $content_type = $_SERVER['HTTP_CONTENT_TYPE'];
  10. }
  11. $content_type = (false === strpos($content_type, 'multipart')) ? 'stream' : 'multipart';
  12.  
  13. log_message('debug', 'upload', "file {$file['id']}, chunk {$chunk_id}, {$content_type} processing..");
  14.  
  15. if ( 'stream' === $content_type ) {
  16. $source_path = 'php://input';
  17. }
  18. else { // multipart
  19.  
  20. if ( ! isset($_FILES['file']['tmp_name'])) {
  21. log_message('error', 'upload', "file {$file['id']}, chunk {$chunk_id}, unable to find tmp_name");
  22. die('{"error":"Nie znaleziono tmp_name"}');
  23. }
  24.  
  25. if ( ! is_uploaded_file($_FILES['file']['tmp_name'])) {
  26. log_message('error', 'upload', "file {$file['id']}, chunk {$chunk_id}, is not proper uploaded file");
  27. die('{"error":"Plik nie jest prawidłowo uploadowanym plikiem"}');
  28. }
  29.  
  30. $source_path = $_FILES['file']['tmp_name'];
  31. }
  32.  
  33. if ( ! $fp = fopen($output_path, 'wb')) {
  34. @fclose($fp);
  35. log_message('error', 'upload', "unable to open target stream '".$output_path."'");
  36. die('{"error":"Nie udało się otworzyć pliku docelowego"}');
  37. }
  38. if ( ! $in = fopen($source_path, 'rb')) {
  39. @fclose($in);
  40. log_message('error', 'upload', "unable to open source stream '".$source_path."'");
  41. die('{"error":"Nie udało się otworzyć pliku źródłowego"}');
  42. }
  43. while ( $buff = fread($in, 4096)) {
  44. fwrite($fp, $buff);
  45. }
  46. fclose($fp);
  47. fclose($in);
  48.  
  49. if ( 'multipart' === $content_type ) {
  50. @unlink($source_path);
  51. log_message('debug', 'upload', 'temporary file chunk was deleted');
  52. }
  53.  
  54. // przenoszenie pliku zakończone
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.