每次点击提交按钮时都会出现此错误。其他所有内容都提交到数据库,只有图像不提交。 警告:file_get_contents():文件名不能为空 任何的想法?这是我的代码。
if(isset($_POST['consultationbutton'])){
$image = addslashes(file_get_contents($_FILES['selectedfile']['tmp_name'])); //SQL Injection defence!
$image_name = addslashes($_FILES['selectedfile']['name']);
$checkedcondition = implode(",",$_POST['skincondition']);
$checkedproduct = implode(",",$_POST['skincareinuse']);
$consultquery="INSERT INTO counsel(nric,dateconsulted,editableface,skincarecurrentlyinuse,skincondition,imagename) VALUES('132','$_POST[storedate]','{$image}','$checkedproduct','$checkedcondition','{$image_name}')";
mysqli_query($dbconn,$consultquery);
// mysqli_escape_string($dbconn,$image);
echo $checkedcondition;
echo $checkedproduct;
}
<form action="BAConsult.php" enctype="multipart/form-data" method='post'>
<img id="customerface" src="#" alt="your image" class ="consultimg"></img>
Select a file to upload: <input type="file" name="selectedfile" onchange="readURL(this);">
<input type='submit' name='consultationbutton' class='consultationbutton' value='Complete Consultation' onclick='submitclick();'>
</form>
<script>
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#customerface')
.attr('src', e.target.result)
.width(400)
.height(400);
};
reader.readAsDataURL(input.files[0]);
}
}
</script>
答案 0 :(得分:4)
在$_FILES
数组中,您说您正在获得[name]=>DSC_0770.JPG[type]=> [tmp_name]=>[error]=>1[size]=>0
如果未给出tmp_name
,则表示该文件未上传。
您给出的错误是1
,根据upload error messages explained page,这意味着:上传的文件超出了php.ini中的upload_max_filesize指令。
您可以执行以下操作来解决此问题。
upload_max_filesize
。ini_set('upload_max_filesize', '20M');
或任何您想要的尺寸。答案 1 :(得分:3)
确保在enctype="multipart/form-data"
标记中添加<form>
属性。像
<form action="your_action_file" method="post" enctype="multipart/form-data">