[php] Kan niet uploaded file verplaatsen door savemode

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02 12:38
Hoi,

Ik ben bezig met een image upload script, daarvoor maakt php ZELF een directory aan.

dat doe ik zo:
PHP:
1
mkdir ($picdir, 0777);


maar als (dezelfde) php er een file in wilt plaatsen kan dat niet
Warning: move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid is 541 is not allowed to access /home/virtual/site40/fst/var/www/html/images/fanpages/17 owned by uid 48 in /home/virtual/site40/fst/var/www/html/edit/upload.php on line 29
de file plaats ik zo:
PHP:
1
move_uploaded_file($_FILES['file']['tmp_name'], $picdir . "$insertid.jpg");


Als ik de directory zelf aanmaak en chmod naar 777 kan hij wel de geuploade file erin plaatsen :?

heb ook al geprobeert om met php script file te chmoden naar 777 maar dat maakt niks uit, en dat gebeurt ook al bij mkdir.

Hoe kan ik dit oplossen??

Acties:
  • 0 Henk 'm!

Verwijderd

Hoe kan ik dit oplossen??
Waarschijnlijk niet. Safe mode is door je ISP aangezet om veiiligheidsproblemen op een shared server te voorkomen, maar dat heeft oook zijn beperkingen. move_uploaded_file() wordt ook door safe mode beperkt, en files kunnen alleen weggeschreven worden naar directories met dezelfde owner als het proces van de webserver. Aangezien die waarschijnlijk onder user nobody draait, zul je niet kunnen wegschrijven.

Overleg met je host hoe je dit wel kan oplossen, maar waarschijnlijk wil die niet meewerken.

Acties:
  • 0 Henk 'm!

Verwijderd

Het is een combinatie van move_uploaded_file en mkdir. De directory die je aanmaakt met mkdir heeft een verkeerde userid, wanneer je move_uploaded_file gebruikt wordt hier op gecheckt.

Dit is te voorkomen door zelf geen dirs aan te maken met mkdir, maar door bijvoorbeeld het gebruik van een prefix iets in de geest van directory_bestand.ext en dit dan plaatsen in een met ftp aangemaakte map

Acties:
  • 0 Henk 'm!

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02 12:38
Verwijderd schreef op 23 oktober 2004 @ 10:17:
Het is een combinatie van move_uploaded_file en mkdir. De directory die je aanmaakt met mkdir heeft een verkeerde userid, wanneer je move_uploaded_file gebruikt wordt hier op gecheckt.

Dit is te voorkomen door zelf geen dirs aan te maken met mkdir, maar door bijvoorbeeld het gebruik van een prefix iets in de geest van directory_bestand.ext en dit dan plaatsen in een met ftp aangemaakte map
tja is juist de bedoeling dat php de mappen aanmaakt, maar zal even overleggen met m'n webhost dan.

Acties:
  • 0 Henk 'm!

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02 12:38
Hmm m'n webhosting raad aan om de mappen met php script via ftp aan te maken :)

Acties:
  • 0 Henk 'm!

  • Morphine
  • Registratie: Februari 2002
  • Laatst online: 09-09 19:45
Martink schreef op 23 oktober 2004 @ 23:45:
Hmm m'n webhosting raad aan om de mappen met php script via ftp aan te maken :)
een kleine omweg (je moet dan namelijk inloggen op de ftp via je script) maar het zal waarschijnlijk gaan werken :)

Acties:
  • 0 Henk 'm!

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02 12:38
Morphine schreef op 23 oktober 2004 @ 23:55:
[...]

een kleine omweg (je moet dan namelijk inloggen op de ftp via je script) maar het zal waarschijnlijk gaan werken :)
jep het werkt ook :)
Pagina: 1