Geupload bestand bestaat niet serverside ?
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
en hier het PHP-deel
Resultaat van de foreach is
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 !
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
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:
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.
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.
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...
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.
move_uploaded_file($ServerSided,$ClientSided);
Misschien de parameters andersom?
Description
bool move_uploaded_file ( string $filename , string $destination )
Misschien de parameters andersom?
Description
bool move_uploaded_file ( string $filename , string $destination )
Heb je in PHP wel een temp directory waar het bestand word heengeschreven tijdens/na de upload?
Heb ik namelijk ook weleens gehad.
Heb ik namelijk ook weleens gehad.
@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.
@- 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




