gpt4 book ai didi

php - move_uploaded_file() 在我的情况下不起作用

转载 作者:行者123 更新时间:2023-11-30 22:54:20 24 4
gpt4 key购买 nike

我正在使用带有 mysql 的 wamp 服务器并添加了以下代码

但它没有将文件插入数据库它在数据库中创建名称,在 wamp 文件夹中创建 tmp 文件,但没有将其移动到所需目录

看代码

<form  method="post" action="insert_products.php" enctype="multipart/form-data">
<table>
<tr>
<h2>Pleaset INPUT data to Insert Into database</h2>
</tr>
<tr>
<th scope="col">Title</th>
<td><input type="text" name="ptitle"></td>
</tr>
<tr>
<th scope="col">catagory</th>
<td><select name="pcats">
<option>Select A Catagory</option>
<?php

$get_cats = "select * from catagories";
$query =mysqli_query($conn,$get_cats)or die("Error: ".mysqli_error($conn));
while($get_cats = mysqli_fetch_array($query)){
$cat_id = $get_cats['cat_id'];
$cat_title = $get_cats['cat_title'];
echo " <option value='$cat_id'>$cat_title</option>";
}
?>
</select></td>
</tr>
<tr>
<th scope="col">Brand</th>
<td><select name="pBrands">
<option>Select A Brand</option>
<?php

$get_brands = "select * from brands";
$query =mysqli_query($conn,$get_brands)or die("Error: ".mysqli_error($conn));
while($get_brands = mysqli_fetch_array($query)){
$brand_id = $get_brands['brand_id'];
$brand_title = $get_brands['brand_title'];
echo "<option value='$brand_id'>$brand_title</option>";
}
?>
</select></td>
</tr>
<tr>
<th scope="col">IMG1</th>
<td><input type="file" name="pimg1"></td>
</tr>
<tr>
<th scope="col">IMG2</th>
<td><input type="file" name="pimg2"></td>
</tr>
<tr>
<th scope="col">IMG3</th>
<td><input type="file" name="pimg3"></td>
</tr>
<tr>
<th scope="col">Price</th>
<td><input type="text" name="pprice"></td>
</tr>
<tr>
<th scope="col">description</th>
<td><textarea name="pdesc"></textarea></td>
</tr>
<tr>
<th scope="col">keywords</th>
<td><input type="text" name="pkws"></td>
</tr>
<tr>
<th scope="col">save / Update</th>
<td><input type="submit" name="insert_product" value="Upload / Update"></td>
</tr>
</table>
</form>

概念代码

....

      if(isset($_POST["insert_product"])){



// datat text variable to insert product details into database
$pTitle = $_POST['ptitle'];
$pCats = $_POST['pcats'];
$pbrands = $_POST['pBrands'];
$pPrice = $_POST['pprice'];
$pDesc = $_POST['pdesc'];
$pKWS = $_POST['pkws'];

$status = 'on';

// product images data container to transfer images rrelated data to database
$pIMG1 = $_FILES['pimg1']['name'];
$pIMG2 = $_FILES['pimg2']['name'];
$pIMG3 = $_FILES['pimg3']['name'];
//temporary images variables
$temp_pIMG1 = $_FILES['pimg1']['tmp_name'];
$temp_pIMG2 = $_FILES['pimg2']['tmp_name'];
$temp_pIMG3 = $_FILES['pimg2']['tmp_name'];

if($pTitle == '' OR $pCats =='' OR $pbrands =='' OR $pPrice == '' OR $pDesc =='' OR $pKWS=='' or $pIMG1=='') {
echo "<script>alert('Please fill all the fields')</script>";
exit();
}else{
$uploads_dir = APP_PATH . DIRECTORY_SEPARATOR. '/pro_images/';
if(is_uploaded_file($temp_pIMG1) or is_uploaded_file($temp_pIMG2) or is_uploaded_file($temp_pIMG3) ){
move_uploaded_file($temp_pIMG1,"$uploads_dir/$pIMG1");
move_uploaded_file($temp_pIMG2,"$uploads_dir/$pIMG2");
move_uploaded_file($temp_pIMG3,"$uploads_dir/$pIMG3");
}else{
echo"error in file upload ";

}
$insert_product = "INSERT INTO products (cat_id,brand_id,date,pTitle,p_Img1,p_Img2,p_Img3,p_price,p_desc,p_status) values ('$pCats','$pbrands',NOW(),'$pTitle','$pIMG1','$pIMG2','$pIMG3','$pPrice','$pDesc','$status')";
$run_products = mysqli_query($conn,$insert_product) or die('ERROR: '.mysqli_error($conn));
if ($run_products){
echo " <script>alert('Inserted')</script>";
}
}

}
?>

最佳答案

检查您要上传到的文件夹的权限。

它应该允许写入。如果它在网络服务器上,文件夹权限应该是 0755

关于php - move_uploaded_file() 在我的情况下不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27050330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com