controleren of bestand werkelijk bestaat
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?
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.
/edit
ik ga ff proberen move_uploaded_file in een lusje te stoppen waarbij gecontroleerd word of het succesvol is ^^
Gewijzigd op 28/12/2005 15:26:00 door Pim Vernooij
Code (php)
1
2
3
4
5
2
3
4
5
<?php
if (is_uploaded_file ($_FILES['userfile']['tmp_name'])) {
// meer code die de upload afhandelt
}
?>
if (is_uploaded_file ($_FILES['userfile']['tmp_name'])) {
// meer code die de upload afhandelt
}
?>
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
if(move_uploaded_file($HTTP_POST_FILES['cvUpload']['tmp_name'], $pad )){
return( TRUE );
}
else {
return( FALSE );
}
?>
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.
Gewijzigd op 28/12/2005 15:32:00 door Pim Vernooij
En dat van Jan is hier voor gemaakt, dus dat raad ik erg nadrukkelijk aan.
Gewijzigd op 28/12/2005 15:33:00 door Jelmer -
/edit
ik ga nog wel even aan de slag met is_uploaded_file()
Gewijzigd op 28/12/2005 15:35:00 door Pim Vernooij
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"
Gewijzigd op 28/12/2005 15:47:00 door Pim Vernooij
Jelmer:
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.
Dat puntje voor 'sites', hoort dat daar wel?
ja dat hoort daar :) dat is de structuur van de webserver, dat pad word automatisch gegenereerd, en hoef ik niet zelf in te voeren.
hidden map, typisch...