Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Problem z uploadem via ftp
Forum PHP.pl > Forum > Przedszkole
centurion
Mam skrypt uploadujący plik za pomocą ftp

Skrypt działał na localhoście pod windowsem lecz po opublikowaniu na unixowy serwer wywala mi następujące błędy
Kod
Warning: filesize() [function.filesize]: stat failed for C:\jakisplik in
/usr/home/sfs/public_html/system/upload.php on line 31

Warning: md5_file(C:\jakisplik ) [function.md5-file]: failed to open stream: No such file
or directory in /usr/home/sfs/public_html/system/upload.php on line 42

Warning: ftp_put(C:\jakisplik ) [function.ftp-put]: failed to open stream: No such file
or directory in /usr/home/sfs/public_html/system/upload.php on line 51

w czym może być problem?

z góry dziekuje za pomoc...


--------------------
dodane BBCode
~Cienki1980
Babcia@Stefa
Może wkleiłbyś fragment kodu odpowiadający za tą część skryptu, to wtedy ci by ktoś pomógł.

Dziękuję, Babcia@Stefa
centurion
na innym forum także opisałem ten problem (włącznie z kodem) lecz nikt nie potrafi podać odpowiedzi..

  1. <?php
  2. $ftp = new serwer;
  3.  
  4. //Tworzenie nowego połączenia z FTP
  5. $conn_id = ftp_connect($ftp->nazwa);
  6.  
  7. // zaloguj się nazwą użytkownika i hasłem
  8. $login_result = ftp_login($conn_id, $ftp->login, $ftp->passwd);
  9.  
  10. //miejsce na dysku gdzie znajduje się plik
  11. $miejsce=$_POST['userfile'];
  12.  
  13. //obliczanie rozmiaru pliku
  14. $rozmiar=round(filesize($miejsce)/1000000 , 2);
  15.  
  16. // sprawdź połączenie
  17. if ((!$conn_id) || (!$login_result)) zamknij('Nie udało się połączyć z serwerem FTP');
  18.  
  19. //sprawdzanie formatu pliku
  20. $dlugosc=strlen($miejsce)-4;
  21. $format = substr($miejsce, $dlugosc);
  22.  
  23. //tworzenie nazwy na podstawie zawartości pliku
  24. //pozwala to sprawdzić czy plik o takiej samej treści jest już na serwerze
  25. $nazwa= md5(md5_file($miejsce)).$format;
  26.  
  27. //tworzenie lokalizacji pliku na dysku
  28. $location = '/usr/home/sfs/public_html/system/upload/' . $nazwa; 
  29.  
  30.  //sprawdzanie czy plik w podanej lokalizacji już istnieje. Jeśli tak - przerwij proces i wyświetl monit
  31. if(is_file($location)) zamknij('Taki plik już istnieje!!! ');
  32.  
  33. // jeśli jest połączenie i inne warunki tego nie wykluczają - prześlij plik
  34. $upload = ftp_put($conn_id, $location, $miejsce, FTP_BINARY);
  35.  
  36. // sprawdź stan operacji
  37. if (!$upload) 
  38.  
  39. //Jeśli nie powiodło się - zamknij połączenie FTP i wyświetl monit
  40. {
  41. ftp_close($conn_id); 
  42. zamknij('Plik nie mógł zostać załadowany');
  43. }
  44. ?>


1. sorki za komentarze - klient chciał miec opisane krok po kroku
2. $_POST['file'] to dane przekazane z textboxa do którego za pomocą JS są wstawiane wartości z <input type=file> (jest to zabieg celowy, gdybym poprostu użył wybierałki file musiałbym operować na $_FILE zaś przy tego typu operacjach ogranicza mnie wielkość przesyłanego w nagłówkach pliku (w próbach bodajże do 5 czy 8 MB to wychodziło). Jeśli ktoś zna sposób jak uploadować duże pliki przy pomocy ftp - to rozwiązałoby również problem
3. podkreśle, że całość kodu działa na windowsowym krasnalu zas po opublikowaniu nie. Nie jest to spowodowane ograniczeniami konfiguracji apacha etc.
4. z moich spostrzeżeń wynika jakoby skrypt próbował się doszukać ścieżki do pliku w folderze, w którym skrypt się znajduje (zamist z dysku użytkownika).

Z góry dziekuje za pomoc bo mam to "na wczoraj" do oddania a dopiero po publikacji wyszedł ten błąd :?
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.