我将2张图片存储到我的数据库中。如果我一次上传2张图片,那么它的存储成功。但如果尝试上传只有image1或如果我尝试上传image2或如果我没有上传任何图像,那么我收到此警告
警告: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
我厌倦了这个错误请帮我解决这个问题
答案 0 :(得分:2)
试试这个,
$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"]));
}