paul14x
5.06.2008, 00:07:36
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
5.06.2008, 00:14:14
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
5.06.2008, 00:25:03
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
5.06.2008, 00:29:05
Kod
upload_tmp_dir = "/tmp"
paul14x
5.06.2008, 00:41:02
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
5.06.2008, 01:03:25
paul14x
5.06.2008, 07:21:17
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.