我在数据库中存储了两个图像。如果我一次上传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"]));
}