我正在编写脚本以将用户输入和图像上传到我的文件系统中的某个位置(当前位于不同的服务器上)。 我收到一个错误 move_uploaded_file(images // test.pdf):无法打开流:允许拒绝..
$dbh = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_USERNAME, DB_USERNAME, DB_PASSWORD);
$title = $_POST["title"];
$authors = $_POST["authors"];
$description = $_POST["description"];
$price = $_POST["price"];
$uploads_dir = "images/";
$tmp_name = $_FILES["image"]["tmp_name"];
$name = $_FILES["image"]["name"];
$tmp_name2 = $_FILES["content"]["tmp_name"];
$name2 = $_FILES["content"]["name"];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
move_uploaded_file($tmp_name2, "$uploads_dir/$name2");
$file_path=$uploads_dir. basename( $_FILES["image"]["name"]);
$file_path2=$uploads_dir. basename( $_FILES["content"]["name"]);
$stmt = $dbh->prepare("INSERT INTO books (title,authors,description,price,image, content)
VALUES ('$title', '$authors', '$description', '$price',$file_path', '$file_path2')") ;
$stmt->execute();
我在这里看过类似的问题,但答案还没有结束我的问题。我已经尝试将$ uploads_dir变量作为images /,并且其完整路径/ project / folder / user / images /都给出了相同的错误。
注意:此php脚本位于images /的父文件夹中。
答案 0 :(得分:3)
您的问题显然与权限有关。运行php的用户无权在此图像文件夹中写入。更改文件夹的所有者或更改权限。
答案 1 :(得分:2)
它看起来像文件权限错误。您可以通过
检查目录是否可写$directoryName = "specify your directory name here";
if(is_writable($directoryName){
echo "Directory is writable"; // Returns TRUE if it's writable.
}
else{
}
更多关于here。