controleren of bestand werkelijk bestaat
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?
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?
Gesponsorde koppelingen:
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.
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 ^^
/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
Je kunt beter gewoon dit doen:
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
}
?>
ik heb het nu zo:
$HTTP_POST_FILES is oud, i know :)
dit is ook globaal hoe ik het opgelost heb, het hele script is wat groter.
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
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.
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 rrrr
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()
/edit
ik ga nog wel even aan de slag met is_uploaded_file()
Gewijzigd op 28/12/2005 15:35:00 door Pim Vernooij
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"
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.
/home/.sites/148/site6/web/scripts/actions/UploadCvAction.php on line 87
Dat puntje voor 'sites', hoort dat daar wel?
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...



