[ mika @ 26.05.2001. 12:11 ] @
Pozdrav.

Imam jedan problem (opet) sa slanjem fajlova kroz web formu.
Prvo, procitao sam sve u dokumentaciji sto pise o tome i nisam nasao resenje problema, tj. problem nije u kodiranju nego u necem trecem.
Problem se manifestuje bas u ovome:

if (is_uploaded_file($userfile)) {
copy($userfile, "/place/to/put/uploaded/file");
} else {
echo "Possible file upload attack: filename '$userfile'.";
}

...a poruka na serveru glasi: Error, could not copy file c:\\bilosta\\bilosta.bil.

Kod mene na lokalu sve to radi (windows) a kod providera jednostavno nece. E sad, mislio sam da je tu problem sa operativnim sistemom tj. ako ja radim na windowsu a oni hostuju na linuxu onda treba da izkonvertujem ime fajla tako da bude c:/bilosta/bilosta.bil medjutim, pokazalo se da nema veze-to je ime fajla iz KLIJENTOVOG racunara i kao takvo moralo bi da se kopira na server.
SVasta sam probao - i sa strip_slashes, i sa HTTP_post_FILES - jednostavno odbija saradnju.
Da li je problem u kodiranju ili mozda kod provajdera (rekli su mi da oni omogucavaju nesmetan pristup mom zakupljenom direktorijumu, i omogucavaju upload)?


[ Smrtko @ 26.05.2001. 13:28 ] @
http://www.phpdev.com/articles.php?task=view&articleID=14
[ mika @ 28.05.2001. 07:47 ] @
OK. 10x a lot!

P.S. Koristan i upotrebljiv sajt.
[ leka @ 28.05.2001. 11:31 ] @
U principu tvoj primer je dobar, onaj URL sto je neko dao na http://phpdev.com - u nece ti pomoci...

Naime, jedino sto treba da uradis je da saznas gde se tacno nalazi tvoj direktorijum (u kom imas pravo na citanje/pisanje). Prosto napisi jednu PHP skriptu ovog tipa:
Code:

<?php
echo $HTTP_SERVER_VARS["PATH_TRANSLATED"];
?>

I vidi gde se tacno nalazi tvoja skripta... Recimo dobices kao rezultat:
Code:
/var/hosted-www/mysite.example.com/public_html/test.php

- To znaci da mozes da pises u direktorijumu /var/hosted-www/mysite.example.com/public_html !
Dakle nikakve C:/bla/bla ili C:\\bla\\bla gluposti ti nece pomoci, jer je server Linux/UNIX...

Predlazem ti da napravis (pretpostavljam da mozes da odes na server FTP-om) jedan poddirektorijum u tom direktorijumu i onda u onu svoju skriptu stavi
Code:
<direktorijum koji dobijes>/<direktorijum koji napravis za upload>
Code:
.

Evo ti primer:
Code:

.
.
.
if (is_uploaded_file($userfile)) { 
   copy($userfile, "/var/hosted-www/mysite.example.com/public_html/uploads"); 
} else { 
  echo "Possible file upload attack: filename '$userfile'."; 
}
.
.



Eto nadam se da sam ti pomogao... Moras malo - makar osnove UNIX-a da naucis. Linux, odnosno UNIX rules!

Leka
(P.S. pogledaj nekada http://www.linuks.org)


[Ovu poruku je menjao leka dana 05-28-2001 u 10:32 AM GMT]
[ mika @ 29.05.2001. 18:59 ] @

UPRAVO JE TO bio problem. Acces denied.

Eto, znao sam da postoje privilegije u Unix-u ali ja kao programer nisam znao koje privilegije mi je inicijlno dodelio administrator, pa sam pozvao tehnicku podrsku i oni su mi dodelili privilegije koje su mi trebale da bih mogao u taj direktorijum da uploadujem.

Ljudi svaka vam cast-stvarno dajete korisne linkove i odgovore.


PHP&LINUX RULZ
M$ sucks!