我正在构建一个简单的文件上传功能。上传的文件应该/存储到“uploads”文件夹中。但他们不会进入文件夹。有帮助吗?
以下是代码:
<?php
include("connect.php");
$file_name = trim($_POST['file_name']);
$file_size = $_FILES['size'];
$file_type = $_FILES['type'];
$description = trim($_POST['description']);
$date_entered = trim($_POST['date_entered']);
$query = "INSERT INTO uploads (id, file_name, file_size, file_type, description, date_entered)
VALUES ('', '$file_name', '$file_size', '$file_type', '$description', '$date_entered')";
$results = mysql_query($query);
if ($results)
{
echo "Details added.";
move_uploaded_file($_FILES[$file_name]['tmp_name'], "uploads/$id");
}
mysql_close();
?>
答案 0 :(得分:1)
将move_uploaded_file调用更改为:
move_uploaded_file($_FILES['file_name']['tmp_name'], "uploads/$id");
还要确保Web服务器用户可以写入uploads/
文件夹。这通常通过在SSH或FTP中使用chmod将权限设置为0777来完成。
答案 1 :(得分:0)
上传文件夹在哪个文件夹中?我假设它是[代码文件夹] /上传,但你永远不知道..否则,查询是否抛出异常?还是假的?是否已打印“详细信息”?
答案 2 :(得分:0)
仅仅因为你在你的网站上运行一个名为somthing / directory / file.php的脚本并不会使“uploads”被视为某个/ directory / uploads / ..
另外,请检查目录的权限。
您是将文件名设置为单独的名称而不是使用上传的文件名?这是你的形式(你没有包括我们检查的表格)
我没有看到你在任何地方设置$ id?
SQL是否有效? move_uploaded_file返回true / false,你不检查移动是否成功。