douju6850 2016-01-31 19:27
浏览 25
已采纳

PHP文件上传名称到sql表

I am trying to allow for file upload and then writing the name of that file into a SQL table so it can be displayed. My form looks like this:

<form class="addProduct" name="addNewProduct" action="add_product.php" method="GET">
<div class="form-group">
<label for="productImgName">Image:</label>
<input type="file" id="productImgName" name="productImgName">
<p class="help-block">This will be re-sized</p>
</div>
</form>

And then the PHP file is:

$target = "images/";
$target = $target . basename( $_FILES['productImgName']['name']);

$Filename=basename( $_FILES['productImgName']['name']);


 if(move_uploaded_file($_FILES['productImgName']['tmp_name'], $target)) {
echo "The file ". basename( $_FILES['productImgName']['name']). " has been uploaded, and your information has been added to the directory";

mysqli_query("INSERT INTO products (productImgName)
VALUES ('$Filename')") ;
} else {
//Gives and error if its not
echo "Sorry, there was a problem uploading your file.";
}

It won't upload and Im not sure why.

  • 写回答

1条回答 默认 最新

  • dongliling6336 2016-01-31 19:32
    关注

    There are two issues with your form element:

    • You cannot use the GET method to upload files
    • You need to specify the enctype attribute

      <form class="addProduct" name="addNewProduct" action="add_product.php" method="POST" enctype="multipart/form-data">
      

    Documentation.

    Also note that the filename is user input and should be treated as such. Sanitize it before adding it to your query or use prepared statements.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类