[英]move_uploaded_file php no images uploaded
我的move_uploaded_file函数有问题。 问题是当我选择要上传的图像时,它没有上传到product_images中。 请帮助我整理一下我的代码块。
这是我的html代码:
<form> action="insert_product.php" method="post" enctype="multipart/form-data">
</form>
这是我的PHP:
<?php
if(isset ($_POST['insert_post'])) {
// Getting the text data from the fields
$product_title = $_POST['product_title'];
$product_cat = $_POST['product_cat'];
$product_brand = $_POST['product_brand'];
$product_price = $_POST['product_price'];
$product_desc = $_POST['product_desc'];
$product_keywords = $_POST['product_keywords'];
// Getting the image from the field
$product_image = $_FILES['product_image']['name'];
$product_image_tmp = $_FILES['product_image']['tmp_name'];
$root = "product_images";
move_uploaded_file($product_image_tmp,$root.$product_image);
$insert_product = "insert into products (product_cat,product_brand,product_title,product_price,product_desc,product_image,product_keywords) "
. "values ('$product_cat','$product_brand',' $product_title','$product_price','$product_desc','$product_image','$product_keywords')";
$insert_pro = mysqli_query($link, $insert_product);
if($insert_pro){
echo "<script>alert('Product has been inserted!')</script>";
echo "<script>window.open('insert_product.php','_self')</script>";
}
}
我可以看到两个问题:
首先,您在这里缺少目录分隔符(/或\\)
move_uploaded_file($product_image_tmp, $root.$product_image);
所以将其更改为
move_uploaded_file($product_image_tmp, $root.DIRECTORY_SEPARATOR.$product_image);
// the php constant DIRECTORY_SEPARATOR is practical
// if you're unaware on what system/os that script might be running
其次,该目录可能尚不存在,因此请检查并创建该目录(如果不存在)(在移动之前):
if(!is_dir($root)) {
mkdir($root, 0755, true); // third parameter isn't important in your case though)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.