login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[PHP] Bestand uploaden error

Offline Joost - 23/08/2008 15:08 (laatste wijziging 23/08/2008 15:10)
Avatar van JoostPHP expert Ik ben vanmiddag even bezig geweest met een uploadsysteem, maar ik loop nu tegen het volgende aan:

Wanneer alles factoren goed zijn, werkt het.
Echter wanneer ik een bestand wil uploaden naar een map die niet genoeg rechten heb, krijg ik daar warnings van.
Ik heb het zo in mijn code:
  1. if(!move_uploaded_file($_FILES['file']['tmp_name'], $lees_map."/".$_FILES['file']['name'])){
  2. echo "FAIL";
  3. } else {
  4. echo "OK!";
  5. }


Voor zover ik weet zouden er dan geen warnings moeten komen?

Dit zijn de errors:

  1. Warning: move_uploaded_file(***) [function.move-uploaded-file]: failed to open stream: Permission denied in ***on line 40
  2.  
  3. Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpm14ys8' to '***' in *** on line 40
  4. FAIL


Hij geeft 'FAIL' nog wel weer, dus hij ziet hem wel als FALSE.

Wat te doen?

5 antwoorden

Gesponsorde links
Offline Stijn - 23/08/2008 15:22
Avatar van Stijn PHP expert
Citaat:
Echter wanneer ik een bestand wil uploaden naar een map die niet genoeg rechten heb, krijg ik daar warnings van.
Wat had je verwacht? Dat het bestand toch in die map zou komen? Nee, je moet rechten hebben om in die map te schrijven. Gebruik chmod() hiervoor.
Offline Joost - 23/08/2008 15:25 (laatste wijziging 23/08/2008 15:26)
Avatar van Joost PHP expert Nee, dat is het punt niet.
Ik wil dat die warnings niet verschijnen, maar dat gewoon FAIL wordt weergegeven, omdat het niet kan.
Offline Stijn - 23/08/2008 15:29
Avatar van Stijn PHP expert Plaats dan gewoon het volgende bovenaan je script.



alternatief

Offline Joost - 23/08/2008 15:32
Avatar van Joost PHP expert Het is misschien niet een oplossing, maargoed.
Zal het zo wel doen.
Offline Gerard - 23/08/2008 21:26
Avatar van Gerard Ouwe rakker Het is wel de oplossing. Er is namelijk wel een workaround hiervoor, maar die moet je juist NIET gebruiken.

Wanneer je namelijk een @ voor de move_uploaded_file() zet zal de waarschuwing niet verschijnen, maar dat is juist niet de juiste manier.

Een website die je ontwikkelt dien je te ontwikkelen met de error_reporting op E_ALL of op E_STRICT. Wanneer je een website dan gaat implementeren voor een klant zet je deze op E_NONE. Op deze manier kunnen bezoekers, die misschien een error triggeren, niets te weten komen over de werking van je script.

Dus gewoon toepassen wat Stijn zei, en dat over een @ maar snel weer vergeten.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.22s