![](/img/trans.png)
[英]Display image from database, gives about:blank#blocked when i try to acces image
[英]Why gives error when I try insert an empty image in database in php?
我正在嘗試在網頁上創建一個小表格。 該表格包含3個字段:名稱,年齡和圖像。
如果所有字段都已填寫,則一切正常。 但是,如果沒有輸入圖像給出此錯誤:
Warning: file_get_contents(): Filename cannot be empty in C:\xampp\htdocs\WEB\Request_1.php on line 98
第98行- $image= addslashes(file_get_contents($_FILES["image"]["tmp_name"]));
Warning: getimagesize(): Filename cannot be empty in C:\xampp\htdocs\WEB\Request_1.php on line 100
第100行- $image_size = getimagesize($_FILES['image']['tmp_name']);
我喜歡將其記錄在數據庫中,即使文件字段為空。 如果文件為空且正在寫入,我做了一個小的更改以寫入數據庫,但是無論如何都會出現錯誤。
誰能幫我?
這是我的代碼:
if (isset($_POST['submit'])) {
if (!get_magic_quotes_gpc()) {
$name = addslashes($_POST[name]);
$age = addslashes($_POST[age]);
}
if (!isset($_FILES["image"]["tmp_name"]))
{
$insert2 = "INSERT INTO form (name, age) VALUES ('$name, '$age)";
mysql_query($insert2);
}
else
{
$image= addslashes(file_get_contents($_FILES["image"]["tmp_name"]));
$image_name = addslashes($_FILES['image']['tmp_name']);
$image_size = getimagesize($_FILES['image']['tmp_name']);
$insert = "INSERT INTO form (name, age, image) VALUES (''$name, '$age, '$image')";
mysql_query($insert);
}
}
更改
if (!isset($_FILES["image"]["tmp_name"]))
至
if (!empty($_FILES['image']['name'])) {
嘗試更換:
if (!isset($_FILES["image"]["tmp_name"]))
與
if ( @$_FILES["image"]["tmp_name"] == '')
試試吧
if(isset($_POST['submit']))
{
$name = $_POST['name'];
$age = $_POST['age'];
$errors= array();
$file_name = $_FILES['image']['name'];
$file_size =$_FILES['image']['size'];
$file_tmp =$_FILES['image']['tmp_name'];
$file_type=$_FILES['image']['type'];
$value = explode(".", $file_name);
$file_ext = strtolower(array_pop($value));
$expensions= array("png","jpg");
if(in_array($file_ext,$expensions)== false)
{
$errors="Extension not allowed, please choose a png or jpg file.";
}
if($file_size > 9097152)
{
$errors[]='File size must be excately 2 MB';
}
if(empty($errors)==true)
{
move_uploaded_file($file_tmp,"upload/".$file_name);
$insert2 = mysql_query("INSERT INTO form (name, age, image) VALUES (''$name, '$age', '$file_name')");
echo "The file ".$file_name." has been uploaded.";
//echo "Success";
}
else
{
print_r($errors);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.