Geupload bestand bestaat niet serverside ?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robert van Leeuwen

Robert van Leeuwen

01/04/2013 18:04:35
Quote Anchor link
Hoi,

Ben bezig met een HTML/PHP upload pagina, maar om e.o.a. reden komt het bestand niet aan serversided.
PHP ziet hem wel in FILES.

Hier het HTML-deel
Quote:
<FORM NAME="FO" METHOD="POST" ACTION="Uploading_File_RETRIEVING.php" ENCTYPE="multipart/form-data">

Selecteer het invoerbestand<BR>
<INPUT NAME="The_File" TYPE="File" SIZE="50"><BR>
<INPUT TYPE="Submit" VALUE="Import !">

</FORM>


en hier het PHP-deel
Quote:
$ServerSided = "MY_DIR\File_To_Process.txt";
$ClientSided = $_FILES['The_File']['tmp_name'];

move_uploaded_file($ServerSided,$ClientSided);

foreach ( $_FILES['The_File'] as $Field => $Value )
{
echo "$Field => $Value <BR>";
}


Resultaat van de foreach is
Quote:
name => B.csv
type => application/vnd.ms-excel
tmp_name => D:\xampp\tmp\php25.tmp
error => 0
size => 375


De move_uploaded_file heb ik reeds verwijders voor debug/track and trace, maar helaas.
De tmp_name php25 is niet aanwezig op de D-locatie, en bij move_uploaded_file ook niet in MY_DIR onder htdocs.

Ik gebruik xampp, ( apache, php, mysql )

Iemand een idee waarom het bestand niet serversided beland ?
Of liever, hoe krijg ik het bestand serversided zodat ik het kan inlezen met php voor further processing ?

Thx !
Gewijzigd op 01/04/2013 18:06:44 door Robert van Leeuwen
 
PHP hulp

PHP hulp

29/04/2024 10:41:39
 
Erwin H

Erwin H

01/04/2013 18:12:35
Quote Anchor link
Het bestand is wel aangekomen op de server, anders zou je geen temporary filename kunnen krijgen. Die zie je alleen niet, omdat temp files direct worden verwijderd nadat je php script is afgelopen. Eventueel zou je een oneindige loop kunnen inbouwen zodat je in explorer wel even kunt kijken in de tmp directory. Zolang die oneindige loop nog bezig is zal je dat bestand dan in de tmp directory kunnen zien staan.

Waar het misgaat is bij het verplaatsen. Ik denk dat je directory niet klopt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$ServerSided
= "MY_DIR\File_To_Process.txt";
?>

Check eens wat de huidige directory is voor je script (echo getcwd();) en check of de MY_DIR (of wat je daar ook hebt staan in je echte script) wel bestaat in die directory.
 
Robert van Leeuwen

Robert van Leeuwen

01/04/2013 18:15:52
Quote Anchor link
Hoi Erwin,

Thx voor het meedenken ! Die functie kon ik nog niet.

Ineens bedacht ik mij dat ik vorig jaar ook dit euvel had. Daarop heb ik nog wat oude posts bekeken, blijkt dat ik Client en Server-vars verkeerd om had staan. :-s

Bestand is nu terecht.

Toevoeging op 01/04/2013 18:20:27:

getcwd leverde de directory op waar het HTML ( of PHP ? ) script staat...
Gewijzigd op 01/04/2013 18:21:22 door Robert van Leeuwen
 
Erwin H

Erwin H

01/04/2013 20:21:32
Quote Anchor link
Klopt. Het is de 'current working directory'. Als je dus een alternatief pad opgeeft om een bestand ergens naartoe weg te schrijven, dan wordt dat alternatieve pad berekend vanuit de cwd.
 
- SanThe -

- SanThe -

01/04/2013 21:06:16
Quote Anchor link
move_uploaded_file($ServerSided,$ClientSided);
Misschien de parameters andersom?

Description
bool move_uploaded_file ( string $filename , string $destination )
 

01/04/2013 21:09:14
Quote Anchor link
Heb je in PHP wel een temp directory waar het bestand word heengeschreven tijdens/na de upload?
Heb ik namelijk ook weleens gehad.
 
Robert van Leeuwen

Robert van Leeuwen

02/04/2013 15:04:06
Quote Anchor link
@Erwin, de ingebouwde php-functie ken ik nauwlijks, ben begonnen met php + mysql voor dummies, een meer geadvanceerd boek ben ik nog naar op zoek. Tips ? Is er een standaard php-error-functie die wat meer info geeft omtrent foutieve code ? nu krijg ik vaak een harde crash of een niet altijd veel zeggende warning :-s

@- SanThe -, de parameters moesten idd andersom, zie m'n vorige post. Thx !

@Rick, ja, die was aanwezig, verder had ik ook al gekeken in de config van apache omdat de server vaak ook nog wel eens bepaalde setting moet hebben om te mogen wegschrijven serversided.
Gewijzigd op 02/04/2013 15:07:00 door Robert van Leeuwen
 



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.