Witam.
A ja ma do tego problem, jak zabezpieczyć przed próbą wysłania pustego formularza?? Zrobiłem coś takiego:
<?php
if($_FILES['userfile']['size'] <= 1000*1024)
{
UPLOAD
} else {
if($_FILES['userfile']['size'] >= 1000*1024)
echo 'Plik zbyt duży, maxymalna wielkośc to 1 mega';
if(!empty($_FILES['userfile']['size'])) echo 'Musisz wybrać zdjecie';
}
?>
I wszystko ładnie pięknie, ale to z zabezpieczeniem "pustego" formularza mi nie działa:( Jeśli zmienie na:
<?php
f($_FILES['userfile']['size'] = 0*1024)
echo 'Musisz wybrać zdjecie'; ?>
To też niedziała:( W obu przypadkach wyświetlają mi się komunikaty typu:
Warning: copy() [function.copy]: Filename cannot be empty in /home/katalog_strony/xt_upload.php on line 27
Pliczek xt_upload.php wyglada tak:
<?
class xUpload {
var $_file;
var $_dir;
var $_name;
var $_tname;
var $_rights;
function make_dir($_dir, $_rights) {
$_doit = mkdir($_dir, $_rights); if($_doit) echo "Making folder: Ok<br>"; else echo "Error while making folder<br>"; return $_doit;
}
function change_dir($_dir) {
/*if($_doit) //echo "Changing dir... OK<br>";
else echo //"Error while changing dir<br>";
*/
return $_doit;
}
function upload_file($_file, $_name) {
$_doit = copy($_file, $_name); /*if($_doit) echo "Uploading file: Ok<br>";
else echo "Error while uploading file<br>";
*/
return $_doit;
}
function make_thumb($_name, $_tname, $_width, $_height, $_del_source) {
$breite = $groesse[0];
$hoehe = $groesse[1];
$neue_breite = $_width;
$neue_hoehe = $_height;
$altes_bild = ImageCreateFromJPEG("$_name");
$neues_bild = ImageCreateTrueColor($neue_breite, $neue_hoehe);
ImageCopyResampled($neues_bild, $altes_bild, 0, 0, 0, 0, $neue_breite, $neue_hoehe,
$breite, $hoehe);
$create_new = ImageJPEG($neues_bild, "$_tname");
if($_del_source) {
//Großes Bild löschen
$del_upload = unlink("$_name"); }
return true;
}
function del_file($_name) {
if($del_file) echo "Deleting file $_name: OK<br>"; else echo "Error while deleting file $_name<br>";
return $del_file;
}
}
?>
Formularz do tego mam taki:
<?php
echo '<FORM ACTION="dodaj_zdjecie2.php" METHOD="POST" ENCTYPE="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input type="hidden" name="id_albumu" value="'.$id.'">
Opis:<input type="text" name="opis"><br/>
Wybierz plik: <input name="userfile" type="file" accept="image/jpg,jpeg">
<br /><input type="submit" value="Dodaj plik">
</form>';
?>
Umiał by ktoś pomóc?? Bo nie wiem, poco on się przy sprawdzaniu już odwołuje do tego pliku xt_upload.php?
Z góry dzięki za pomoc:)