Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z przesłąniem plików na serwer
Forum PHP.pl > Forum > PHP
paul14x
Skrypt działał pod Windowsem na Vertrigo i AppServ , więc mniemam iż jest poprawny. Jak przeszedłem na Mandrive i zainstalowałem xamppa mam problem z przeslaniem pliku na serwer. I nie jest to żaden błąd spowodowany odwrotnymi ukośnikami w ścieżkach, niedozwolonymi znakami czy złym kodowaniem, gdyż pliku jakby wogóle nie kopiowało jako tymczasowego gdyż po:
foreach($_FILES['plik'] as $k=>$w)
echo "$k : $w<br>";

otrzymuję:

name : test_partner.csv
type :
tmp_name :
error : 6
size : 0

a bez tmp_name nie mogę: copy($tmp_name,"import/".$nazwa_pliku); gdyż tu skrypt się rozjeżdża.

Plikowi z importu nadałem prawa 777, skrypt wykonałem jako root z przeglądarki konsolowej, ale to samo.

1. Spotkał się już ktoś z podobnym problemem?
2. Gdzie mogę znaleźć katalog na pliki tymczasowe serwera, może tu trzeba zmienić prawa dostępu?
webdice
Nie spotkałem się z błędem numer 6. Standardowo katalog tymczasowy to /tmp. Sprawdź czy użytkownik uruchamiający PHP ma dostęp do tego katalogu oraz sprawdź czy ta ścieżka jest w ogóle ustawiona w php.ini. Chociaż jeśli byłoby z tym coś nie tak PHP zwróciło by stosowny komunikat, ale na wszelki wypadek można popatrzeć.
paul14x
Do /tmp ma uprawnienia każdy user, więc to nie to. Wstyd się przyznać, ale nigdy do tego pliku nie zaglądam.. który element php.ini ma zawierać ścieżkę /tmp?
webdice
Kod
upload_tmp_dir = "/tmp"
paul14x
O to własnie chodziło, PHP nie miał ustawionego folderu /tmp.
Jednak mam jeszcze jakiś błąd z funkcją copy, nie wiem o co chodzi..
Już teraz jest:

name : test_partner.csv
type : text/comma-separated-values
tmp_name : /tmp/phprAgfZP
error : 0
size : 203

ale:

Warning: copy(import/test_partner.csv) [function.copy]: failed to open stream: Brak dostępu in /opt/lampp/htdocs/partner/templates/zalog_adm.inc.php on line 539

Skąd taki błąd?
webdice
Korzystaj z move_uploaded_file" title="Zobacz w manualu PHP" target="_manual.
paul14x
Zastanawiałem się co to za błąd, bo wszystkie pliki miały niby uprawnienia.
Poszłem na łatwiznę, zrobiłem:

chmod -R 777 /opt/lampp
chmod -R 777 /tmp

I pozbyłem się natrętnego błędu.
Noto już wiemy co może komunikować error: 6.

Dzięki za pomoc webdicepl.
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.