问题是$ _FILES [' thumbnailPic']没有从HTML表单中选择值。我已经尝试了很多解决方案,但它只是不工作:( HTML代码是:
<label >Thumbnail Picture<text>*</text></label><br>
<input type="file" name='thumbnailPic' id="pic"><br>
<label >Original Picture<text>*</text></label><br>
<input type="file" name='originalPic' id="pic"><br>
<input type="submit" name="AddStock" id= "formAddStock" value="Add Stock">
php代码是:
if(!isset($_FILES['thumbnailPic']))
{
echo '<p>Please select a file</p>';
}
else
{
$spID=NULL;
$Quant=$_POST['quantity'];
$Siz=$_POST['Size'];
$imgfp = fopen($_FILES['originalPic']['tmp_name'],'rb');
$stmt = $connection->prepare("INSERT INTO stitchedproduct (sp_id,quantity,size,p_id,color_id,sp_thumbnail,sp_OriginalPic) VALUES (?,?, ?, ?,?,?,?)");
$stmt->bindParam(1, $spID);
$stmt->bindParam(2, $Quant);
$stmt->bindParam(3, $Siz);
$stmt->bindParam(4, $ProductID);
$stmt->bindParam(5, $colour);
$stmt->bindParam(6, $imgfp);
$stmt->bindParam(7, $imgfp);
//$stmt->bindParam(1, $spID);
$stmt->execute();
}
答案 0 :(得分:9)
首先验证<form>
中的HTML代码中是否添加了enctype="multipart/form-data"
所以你的表单开始就像:
<form action="" method="post" enctype="multipart/form-data">
要检查文件是否已成功上传,请使用。
if($_FILES["thumbnailPic"]["error"] == 0){
//File uploaded
}
提示: 要检查上传的文件是否为图像,您可以将其检查为:
if(getimagesize($_FILES["thumbnailPic"]["tmp_name"])){
//Its an Image
}
else
{
//Invalid Image
}
请参阅here了解更多
答案 1 :(得分:2)
检查文件是否已上传:
if (file_exists($_FILES['file_name']['tmp_name']) || is_uploaded_file($_FILES['file_name']['tmp_name'])) {
echo 'Your file has been uploaded';
}
else
{
echo 'Please Select file to Upload';
}
为我工作100%。
答案 2 :(得分:1)
针对此问题的几种可能性和解决方案。