Geupload bestand bestaat niet serverside ?
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>
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>";
}
$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
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
Waar het misgaat is bij het verplaatsen. Ik denk dat je directory niet klopt:
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.
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
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.
Misschien de parameters andersom?
Description
bool move_uploaded_file ( string $filename , string $destination )
Heb ik namelijk ook weleens gehad.
@- 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