[php] Uploaden werkt niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • MRED
  • Registratie: Maart 2000
  • Laatst online: 22-12-2020

MRED

Carpe diem...

Topicstarter
Ik heb het volgdende script van php.net gehaald, maar om de een of andere reden wil het bij mij maar niet werken

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php 
    error_reporting(E_ALL);


   // Voor PHP 4.1.0 moet $HTTP_POST_FILES gebruikt worden in plaats van $_FILES.
   if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
   move_uploaded_file($_FILES['userfile']['tmp_name'], "/website/httpd/uploads/");
       echo "Bestand succesvol ontvangen<br><br>";
    
   } else {
       echo "Bestand niet geupload " . $_FILES['userfile']['name'];
       echo $_FILES['userfile']['error'];
   }

   ?> 


Ik krijg de melding dat het bestand suc6vol ontvangen is. Maar wanneer ik dan in de dir 'uploads' kijk is er niets te zien.

met deze code
PHP:
1
2
       echo "Here is some more debugging info:<BR><BR>"; 
    print_r($_FILES);


heb ik gecontroleerd of er iets fout gaat maar ik krijg dan onderstaande info:

Bestand succesvol ontvangen

Here is some more debugging info:

Array ( [userfile] => Array ( [name] => 4889.jpg [type] => image/pjpeg [tmp_name] => C:\WINDOWS\TEMP\php8B.tmp [error] => 0 [size] => 107048 ) )

Ook heb ik geprobeer door error_reporting(E_ALL); bovenin het php script aan te zetten het probleem te achterhalen. Maar er wordt geen fout weergegeven.

De map "/website/httpd/uploads/" bevindt zich trouwens op een andere schijf als waar het temp bestand geplaatst wordt namelijk op de D-schijf (Win XP Fat32)

[ Voor 15% gewijzigd door MRED op 24-07-2005 14:34 ]

Mijn weblog


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Misschien geeft move_uploaded_file false terug.

Acties:
  • 0 Henk 'm!

  • TERW_DAN
  • Registratie: Juni 2001
  • Niet online

TERW_DAN

Met een hamer past alles.

Je hebt wel schrijfrechten op de server waar het naar toe geupload wordt? Daar heb ik zelf ook nog eens een keer mee zitten klooien namelijk.

Acties:
  • 0 Henk 'm!

  • ikke007
  • Registratie: Juni 2001
  • Laatst online: 18-09 14:10
doe eens error reporting aanzetten boven aan je code
PHP:
1
error_reporting(E_ALL);


dan krijg je alle foutmeldignene n waarschuwingen van wat er verkeerd gaat of mogelijk verkeerd zou kunnen gaan. Dus dan zie je veel sneller waar iets fout gaat.


Succes

Lets remove all security labels and let the problem of stupidity solve itself


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:44

crisp

Devver

Pixelated

Je geeft je file ook helemaal geen naam in move_uploaded_file:
PHP:
1
2
3
4
5
6
7
8
$uploaddir = '/website/httpd/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
   echo "File is valid, and was successfully uploaded.\n";
} else {
   echo "Possible file upload attack!\n";
}

Dus de volgende keer dat je wat kopieert van php.net moet je het wel goed doen ;)

Als dit nog niet werkt dan kan het liggen aan de rechten op je upload-dir, of aan het feit dat je formulier niet goed in elkaar zit (bijvoorbeeld enctype="multipart/form-data" vergeten).

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • MRED
  • Registratie: Maart 2000
  • Laatst online: 22-12-2020

MRED

Carpe diem...

Topicstarter
php.net geeft in de link die je post aan dat er als dit het geval is een waarschuwing gegeven wordt.
Als filename wel een geldig geuploade bestand is, maar dat hij door welke rede dan ook niet verplaatst kan worden, wordt er geen actie ondernomen en zal move_uploaded_file() FALSE terug geven. Daarbij zal er een waarschuwing worden gegeven.
Deze heb ik nooit gehad.

Mijn weblog


Acties:
  • 0 Henk 'm!

  • MRED
  • Registratie: Maart 2000
  • Laatst online: 22-12-2020

MRED

Carpe diem...

Topicstarter
crisp schreef op zondag 24 juli 2005 @ 14:41:
Je geeft je file ook helemaal geen naam in move_uploaded_file:
PHP:
1
2
3
4
5
6
7
8
$uploaddir = '/website/httpd/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
   echo "File is valid, and was successfully uploaded.\n";
} else {
   echo "Possible file upload attack!\n";
}

Dus de volgende keer dat je wat kopieert van php.net moet je het wel goed doen ;)

Als dit nog niet werkt dan kan het liggen aan de rechten op je upload-dir, of aan het feit dat je formulier niet goed in elkaar zit (bijvoorbeeld enctype="multipart/form-data" vergeten).
Had vandaag beter niet op kunnen staan. 8)7..

Bedankt!!

Mijn weblog

Pagina: 1