проблема при загрузке изображения самого большого 3M или 4M возвращают успешную загрузку, но он не действительно загружает в папку, я хочу правильно показать сообщение об ошибке.
я думаю проблема в проверке размера файла
$dir_name=dirname(__FILE__)."/../admin/upload/";
$path=@$_FILES['file_upload']['tmp_name'];
$name=@$_FILES['file_upload']['name'];
$fsize=$_FILES['file_upload']['size'];
$multiext= array("gif","jpeg","jpg","png");
$erros=array();
$extention = strtolower(end(explode(".", $name)));
$extcheck = in_array($extention,$multiext);
$newname=rand(1,9999999999).'.'.$extention;
if( !$extcheck )
{
$erros[] = "<div class='msgerrorup'>Invalid file</div>";
}
if( ($fsize > 100000) )
{
$erros[] = "<div class='msgerrorup'>Image size must be 100k</div>";
}
if(!$newname )
{
$erros[] = "<div class='seccessup'>Invalid parametrs</div>";
}
if ( empty($erros) )
{
move_uploaded_file($path,$dir_name.$newname);
echo "<div class='seccessup'>Success upload</div>";
}
else
{
foreach ($erros as $erro)
{
echo $erro."<br />";
}
}
Попробуй это
$path=@$_FILES['file_upload']['tmp_name'];
$name=@$_FILES['file_upload']['name'];
$fsize=$_FILES['file_upload']['size'];
$ftype=$_FILES['file_upload']['type'];
$multiext= array("image/gif","image/jpeg","image/jpg","image/png");
$erros=array();
if( !in_array($ftype, $multiext) )
{
$erros[] = "<div class='msgerrorup'>Invalid file</div>";
}
а также
if ( count($erros) == 0 )
{
move_uploaded_file($path,$dir_name.$newname);
echo "<div class='seccessup'>Success upload</div>";
}
Других решений пока нет …