Waar is de geuploade file ? Niet in de tmp-directory :(

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robert van Leeuwen

Robert van Leeuwen

29/04/2012 08:56:22
Quote Anchor link
Hoi,

Geheel in de categorie MyFirstPHP ben ik bezig met het uploaden van files.

De HTML-code :

<FORM NAME="FO" ACTION="ThePHP.php" METHOD="Post" ENCTYPE="multipart/form-data">

Selecteer het invoerbestand<BR>
<INPUT NAME="GimmeFile" TYPE="File">
<INPUT TYPE="Submit" VALUE="Import !">
</FORM>

vervolgens de PHP-code :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php

$ServerSided
= "File_To_Process.txt";
$ClientSided = $_FILES['GimmeFile']['tmp_name'];

move_uploaded_file($ServerSided,$ClientSided);

?>


Er verschijnen geen errors.

Echter, ik kan het geuploade bestand niet vinden in de temp-directory.


Ik gebruik WAMP, standaard geinstalleerd.
A = versie 2.2.17
M = versie 5.5.8
P = versie 5.3.5

File Upload is toegestaan volgens PHP-configfile.

Heeft iemand de oplossing voor dit ongetwijfelde beginnersprobleem ?
Ik verwacht dat de HTML-code en PHP-code juist zijn, maar wellicht nog ergens een config-aanpassing.
 
PHP hulp

PHP hulp

25/04/2024 12:26:35
 
Noppes Homeland

Noppes Homeland

29/04/2012 10:15:52
Quote Anchor link
Raadpleeg altijd eerst de handleiding alvorens een topic te starten!!!!!!!

http://www.php.net/move_upload_file

Let op:
Het is niet nodig om waarden van superglobals - $_FILES - te copieren naar een nieuwe variabele.

Het blind doorzetten van een geuploade file is ook niet verstandig, je dient toch wel het een en ander te controleren en te valideren.
 
Robert van Leeuwen

Robert van Leeuwen

29/04/2012 14:25:55
Quote Anchor link
Noppes Homeland,

Dank voor je reactie en tips.

php.net had ik reeds uitgeplozen (net als zo'n beetje heel google.) voordat ik de topic aanmaakte. Genoeg codes gecopypaste, maar niets leidt tot het gewenst resultaat. Echter, nergens is te vinden waarom de geuploade file niet te vinden is aan de serverkant. Niet op de standaardfolder, niet op de plek na de move.

Heb je wellicht ook een oplossing ??
Gewijzigd op 29/04/2012 14:27:55 door Robert van Leeuwen
 
Patrick vd Pols

Patrick vd Pols

29/04/2012 14:34:40
Quote Anchor link
Ik heb zelf een upload scriptje geschreven, maar dat is voor meerdere bestanden, echter ik doe ze zo verplaatsen :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$map = $_SERVER['DOCUMENT_ROOT']."/uploads/"; // map waar de uploads moeten

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
move_uploaded_file($_FILES['GimmeFile']['tmp_name'][$key], $map . $filename);

dus eerst geef je aan om welk Temp bestand het gaat en achter de komma geef je aan waar die hem heen verplaatsen moet. Jij wil hem naar $clientsided verplaatsen, maar dit gaat niet omdat $clientsided geen doelmap en bestandsnaam heeft..

Kan zijn dat ik het mis heb, ben nog maar een beginner met PHP maar ik denk dat hier de fout in zit!

Wat je ook kan proberen is even
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
error_reporting(1);

bovenaan je bestand zetten, kijken of je dan wel een foutmelding krijgt.
Gewijzigd op 29/04/2012 14:48:12 door Patrick vd Pols
 
Robert van Leeuwen

Robert van Leeuwen

29/04/2012 15:59:36
Quote Anchor link
Hoi Patrick,

Altijd als mensen meedenken, samen komen we er wel uit, nietwaar ?

Het omdraaien van de parameters in de php-upload-function gaf de oplossing.
Zelf verwachtte ik het bestand in elk geval te kunnen terug vinden in de standaardtemp-folder. Zie tmp_name.

array
'GimmeFile' =>
array
'name' => string 'LocalFile.txt' (length=9)
'type' => string 'text/plain' (length=10)
'tmp_name' => string 'D:\wamp\tmp\php2E.tmp' (length=21)
'error' => int 0
'size' => int 85

Hoe dan ook, het bestand heb ik nu serversided, vandaar zie ik wel verder !

Superbedankt !

grtz
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.