上传图像时出现文件名不能为空错误


Filename cannot be empty error while uploading image

我在数据库中存储了两个图像。如果我一次上传2张图片,那么它的存储成功了。但是如果尝试只上传图像1,或者如果我尝试上传图像2,或者如果没有上传任何图像,那么我会收到这个警告

警告:file_get_contents()[function.file-get-contents]:第24行C:''wamp''www''print''main.php中的文件名不能为空

我的代码是:

    <label for="certificate">Upload Scaned Document:</label>
     <input type="file"  name="image" /> 
                 OR
     <label for="certificate">Upload Scaned QR Code</label>
     <input type="file" name="QRimage"  />

php代码:

    $imageName = mysql_real_escape_string($_FILES["image"]["name"]);
    $imageData = mysql_real_escape_string(file_get_contents($_FILES["image"]["tmp_name"]));
    $QRimageName = mysql_real_escape_string($_FILES["QRimage"]["name"]);
    $QRimageData = mysql_real_escape_string(file_get_contents($_FILES["QRimage"]["tmp_name"]));

甚至我也试过这样做:

    if(isset($_FILES["image"]) && (!empty($_FILES["image"])) && ($_FILES['image']['error'] == 0))

   if((isset($_FILES["QRimage"]["size"])) && ($_FILES["QRimage"]["size"] > 0))

然后我就能克服这个警告。

如果我尝试上传Image1。

         Notice: Undefined variable: QRimageName in C:'wamp'www'print'main.php on line 59
         Notice: Undefined variable: QRimageData in C:'wamp'www'print'main.php on line 59

如果我尝试上传Image2。

         Notice: Undefined variable: imageName in C:'wamp'www'print'main.php on line 59
         Notice: Undefined variable: imageData in C:'wamp'www'print'main.php on line 59

我受够了这个错误,请帮我解决这个问题

试试这个,

$imageName = "";
$imageData = "";
$QRimageName = "";
$QRimageData = "";
if(!empty($_FILES["image"]["name"])){ 
    $imageName = mysql_real_escape_string($_FILES["image"]["name"]);
    $imageData = mysql_real_escape_string(file_get_contents($_FILES["image"]["tmp_name"]));
}
if(!empty($_FILES["QRimage"]["name"])){
    $QRimageName = mysql_real_escape_string($_FILES["QRimage"]["name"]);
    $QRimageData = mysql_real_escape_string(file_get_contents($_FILES["QRimage"]["tmp_name"]));
}