你好,我有一个问题要问。问题是当我试图上传图像到某些文件夹使用PHP,图像不move.the图像信息插入数据库,但只有图像不移动到目标文件夹。该文件夹是空的,但没有显示错误。我在Php.ini中的file_upload已打开,但图像仍然不动。 下面是我的代码:PHP:上传的文件不能移动到文件夹(CLOSED)
<form action='try1.php' method='post' enctype='multipart/form-data'>
<table border='1'><tr>
<td><input type='file' name='file_img' /></td><td>
<input type='submit' name='btn_upload' value='upload'></td></tr>
</table>
</form>
<?php
require 'conf.php';
$link = mysqli_connect($h,$u,$p,$db);
if(isset($_POST['btn_upload']))
{
$filetmp = $_FILES["file_img"]["tmp_name"];
$filename = $_FILES["file_img"]["name"];
$filetype = $_FILES["file_img"]["type"];
$filepath = "upload/".$filename;
move_uploaded_file($filetmp,$filepath);
$query = "insert into try (image,type,path) values ('$filename','$filetype','$filepath')";
$result = mysqli_query($link,$query);
}
?>
我希望有人能帮助我解决这个问题,谢谢。
(已解决)我已经解决了这个问题。它不是代码,但我的电脑有问题,谢谢你的帮助。
**警告**:使用'mysqli'时,您应该使用[参数化查询](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)和['bind_param' ](http://php.net/manual/en/mysqli-stmt.bind-param.php)将用户数据添加到您的查询。 **不要**使用字符串插值或连接来完成此操作,因为您创建了严重的[SQL注入漏洞](http://bobby-tables.com/)。 **不要**将'$ _POST','$ _GET'或**任何**用户数据直接放入查询中,如果有人试图利用您的错误,这可能会非常有害。 – tadman
你在哪里找错误? apache日志文件?我怀疑许可问题。 'chown apache:apache/path/to/destination -R' –
move_uploaded_file在成功/失败时返回true/false。将它保存到一个临时变量并输出/记录它。这很可能是一个权限问题。 – mkaatman