我使用的是这个基本脚本:
$folderPath = "../path/to/$folder/";
mkdir("$folderPath");我创建了这个目录,然后将照片上传到其中。我已经这样做了4-5个月了,当我尝试通过web浏览器查看文件夹的内容时,突然开始收到禁止的错误
正在创建相同的目录,照片仍在上载,没有问题,但我无法访问照片
我尝试重写脚本并使用chmod更改权限,但我一点运气都没有
所有旧文件夹都是使用以下命令创建的:-w- rwx r-x r-x
我不能让这个重现
我尝试在我的脚本中添加一个chmod行:
$folderPath = "../sales/inventory/$folder/";
mkdir("$folderPath");
chmod("$folderPath", 0755);但是我不能重新创建相同的权限,我正在尝试了解chmod是如何工作的,但是我不知道如何让这个非常基本的功能再次正常工作
发布于 2010-09-22 20:07:51
尝试查找HTAccess文件,其中将提到"Options -Indexes“选项,因为这主要用于在web浏览器中不显示文件夹的内容。需要以以下方式搜索文件:-
在“"root_folder/sales/inventory/".
”文件夹中尝试,在“root_folder/”.文件夹中尝试,$folder
root_folder/sales/inventory/$folder/“中尝试。当您获得HTAccess文件中编写的"Options -Indexes“代码时,您可以从那里删除/注释该行代码,或者您也可以在所需的文件夹"$folder”中编写另一个HTAccess文件,其中的代码将是"Options -Indexes“。
同样在PHP页面中,逻辑必须是这样的:-
<?php
$folderPath = "../sales/inventory/$folder/";
mkdir("$folderPath");
chmod("$folderPath", 0755);
// Use of "copy()" / "move_uploaded_file()" function here, using some "$targetFile" variable.
chmod($targetFile, 0755);
?>当您要从"$folder“文件夹取消链接/删除上传的文件时,这将对您有所帮助。
希望能有所帮助。
发布于 2013-06-13 18:18:58
如果您的$folder变量包含一些子目录,那么您的父目录可能没有被更改为正确的权限。这就是我在租用的OVH Gentoo服务器上遇到的问题。
想象一下$folder = '/store1/ally23/shelf42';,那么您的最终目录结构是../sales/inventory/store1/ally23/shelf42,并且您需要0777权限。您需要:
mkdir($folderPath, 0777, true) || chmod($folderPath, 0777);只有最后一个目录shelf42才会被chmoded为0777。中间目录是使用默认权限(在我的示例中是0744)创建的。
PHP的chmod命令中没有递归选项,因此您必须遍历中间目录并逐个对它们执行chmod。
发布于 2012-09-18 08:57:44
如果你在一个共享环境中,为了安全起见,你可能还想在上传后使用。尤其是当你运行你的web服务器的用户不是你的虚拟主机有访问权限的用户时(例如:“无人”vs“mysite”)。这在cPanel服务器中很常见。
https://stackoverflow.com/questions/3764973
复制相似问题