Ik heb een upload script gebouwd waarmee een aantal typen documenten geupload kunnen worden.

Het uploaden werkt, validatie werkt (als het type bestand niet klopt).

Alleen als ik iets willekeurigs invoer in het invoerveld (bijvoorbeeld lkjfdsalakfjsl ), probeert php dit gewoon te uploaden, terwijl het bestand niet eens bestaat.

Hoe kan ik controleren of het bestand op de locale pc bestaat?
euhm. niet.
PHP upload niet, php krijgt het bestand aangeleverd. De browser upload het bestand, en is dus verantwoordelijk voor de afhandeling aan die kant. En bij mijn weten kan je via javascript niet bij het bestandssysteem in de zin van bestanden opvragen en inladen.
is er geen manier om php te laten controleren of het bestand iets bevat ? want de functie move_uploaded_file() crasht doordat er niets geupload is :s (bij het chmodden)

/edit
ik ga ff proberen move_uploaded_file in een lusje te stoppen waarbij gecontroleerd word of het succesvol is ^^
Je kunt beter gewoon dit doen:

<?php
if (is_uploaded_file ($_FILES['userfile']['tmp_name'])) {
// meer code die de upload afhandelt
}
?>
ik heb het nu zo:
<?php
if(move_uploaded_file($HTTP_POST_FILES['cvUpload']['tmp_name'], $pad )){
return( TRUE );
}
else {
return( FALSE );
}
?>

$HTTP_POST_FILES is oud, i know :)
dit is ook globaal hoe ik het opgelost heb, het hele script is wat groter.
Pim, dat is erg onlogisch. move_uploaded_file geeft al TRUE of FALSE terug, anders zou die lus onmogelijk kunnen werken...

En dat van Jan is hier voor gemaakt, dus dat raad ik erg nadrukkelijk aan.
het werkt hier :) maar het is een wat groter script.. ik kan dat niet plaatsen, dat mag ik niet... (non disclosure agreement of zo heet dat...)

/edit
ik ga nog wel even aan de slag met is_uploaded_file()
is_uploaded_file werkt niet :(

Warning: chmod failed: No such file or directory in /home/.sites/148/site6/web/scripts/actions/UploadCvAction.php on line 87

met de move_uploaded_file truc controleerde ik of het verplaatsen van het bestand TRUE terug gaf, zo ja, chmodden en file url terug geven, zo niet, error = 1 en errormsg = "bestand heeft geen waarde"
Jelmer schreef op 28.12.2005 15:32
Pim, dat is erg onlogisch. move_uploaded_file geeft al TRUE of FALSE terug, anders zou die lus onmogelijk kunnen werken...


Jelmer, met return( TRUE ); en return( FALSE ); bedoelde ik of het script door mag gaan met het afhandelen van het bestand, of het terug keren naar de invoer pagina, met een error bericht. Puur hypothetisch.
ooow, nee, okee, dan klopt het inderdaad prima. Ik had me even vergist in de taal die je daar gebruikte in dat geval.
/home/.sites/148/site6/web/scripts/actions/UploadCvAction.php on line 87

Dat puntje voor 'sites', hoort dat daar wel?

Reageren