我的PHP图像上传器有问题,因为出于某种原因,当我测试时,尽管选择了图像,但它回显NULL
,而不是图像URL。可能的原因是什么?
if (isset($_POST['add_product'])) {
include 'connect.php';
$prodname = (isset($_POST['productname']) ? $_POST['productname'] : null);
$prodtype = (isset($_POST['prodtype']) ? $_POST['prodtype'] : null);
if (empty($_FILES['prodimage']['name'])) {
$imageURL = "NULL";
echo $prodname."<br>".$prodtype."<br>".$imageURL;
} else if (!empty($_FILES['prodimage']['name'])) {
if(move_uploaded_file($_FILES['prodimage']['tmp_name'], "../media/images/" .$_FILES['prodimage']['name']))
$imageURL = "media/images/" .$_FILES['prodimage']['name'];
echo $prodname."<br>".$prodtype."<br>".$imageURL;
}
}
HTML代码:
<h2>Add Products</h2>
<form action='' method="POST">
<div class='products'>
<h3>Product Name</h3>
<input type='text' name='productname' class='title' placeholder='' value=''/>
</div>
<div class='products'>
<h3>Product Type</h3>
<div class='styled-select'>
<select name='prodtype'><OPTION VALUE='1'>MARMORSKIVOR</OPTION>
<OPTION VALUE='2'>GRANIT</OPTION>
</select>
</div>
</div>
<div class='products'>
<h3>Add image</h3>
<label class="myLabel" id="prodimage">
<input type="file" name="prodimage" id="fileToUpload" />
<span>Select Image</span>
</label>
</div>
<div class="products">
<button class='add_product' type='submit' name='add_product'>Add Product</button>
</div>
</form>
答案 0 :(得分:2)
我们在此处理文件,因此您需要在表单中添加适当的enctype。
<form enctype="multipart/form-data" action='' method="POST">
根据手册:
错误报告会帮助您。
但是,您在此处使用了两种不同的路径声明。
"../media/images/"
$imageURL = "media/images/"
您需要检查您要使用的确切内容。
如果您从根运行脚本并且文件夹是其直接子文件夹,则需要使用$imageURL = "media/images/"
。
即:
- root -> public/your_file.php - media - images -> other_folder_in_public