0

我的编码有问题,上传工作正常,如果我没有上传任何图片,它会回显错误,如果我只上传一张图片,它不会显示任何错误消息,现在我想做它如果没有要上传的内容,它不会回显错误消息,但我想保留错误消息,以防万一出现问题,我知道有问题。谢谢!

// Upload begins!!

if ($_FILES['ufile']['name'][0] != "")
    {
    $target_path =  "."."/uploads/".$petname."/".$_FILES['ufile']['name'][0];

    copy($_FILES['ufile']['tmp_name'][0], $target_path);
    $filesize1=$_FILES['ufile']['size'][0];
    }


    if ($_FILES['ufile']['name'][1] != "")
    {
    $target_path1 =  "."."/uploads/".$petname."/".$_FILES['ufile']['name'][1];

    copy($_FILES['ufile']['tmp_name'][1], $target_path1);
    $filesize2=$_FILES['ufile']['size'][1];
    }


    if ($_FILES['ufile']['name'][2] != "")
    {
    $target_path2 =  "."."/uploads/".$petname."/".$_FILES['ufile']['name'][2];

    copy($_FILES['ufile']['tmp_name'][2], $target_path2);
    $filesize3=$_FILES['ufile']['size'][2];
    }

// Check for error!!
    if($filesize1 || $filesize2 || $filesize3 != 0) 
    {
    }

// If got error, show message 
    else 
    {
    echo "<div class='error'>ERROR : There seems to be problem uploading the pictures.</div>";
    }
4

2 回答 2

2

我自己设法解决了,下面是我的解决方案:-

if ($_FILES['ufile']['name'][0] != "")
{
$target_path =  "."."/uploads/".$petname."/".$_FILES['ufile']['name'][0];

if (!copy($_FILES['ufile']['tmp_name'][0], $target_path))
{
    $a = 1; 
}

}

else
{
    $a = 0;
}


if ($_FILES['ufile']['name'][1] != "")
{
$target_path1 =  "."."/uploads/".$petname."/".$_FILES['ufile']['name'][1];

if (!copy($_FILES['ufile']['tmp_name'][1], $target_path1))
{
    $b = 1;
}

}

else
{
    $b = 0;
}


if ($_FILES['ufile']['name'][2] != "")
{
$target_path2 =  "."."/uploads/".$petname."/".$_FILES['ufile']['name'][2];

if (!copy($_FILES['ufile']['tmp_name'][2], $target_path2))
{
    $c = 1;
}

}

else
{
    $c = 0;
}

if ($a || $b || $c == 1)
{
    echo "Error! There is problem uploading the pictures.";
}
于 2012-09-06T04:06:16.807 回答
1

你可以试试这个

$upload_errors = array( 
    "No errors.",
    "Larger than upload_max_filesize.", 
    "Larger than form MAX_FILE_SIZE.", 
    "Partial upload.", 
    "No file.", 
    "Nothing because 5 doesn't exist",
    "No temporary directory.", 
    "Can't write to disk.", 
    "File upload stopped by extension.", 
);

if($_FILES['ufile']['error']==0) { // 0=No errors
    // process
}
else 
{
    if($_FILES['ufile']['error']!=4) { // 4=Not uploaded
        // Error occured other than error code 4(you don't want to show this)
        echo $upload_errors[$_FILES['ufile']['error']].' !<br />';
    }
}

参考: PHP 手册

于 2012-09-06T03:24:03.787 回答