创建的文件显示禁止的403错误

时间:2016-06-22 17:10:08

标签: php file http-status-code-403

我创建了一个脚本,我从数据库中选择了数据,并为每个数据库输出创建了一个文件。如下所示,$home是分配给我的根文件夹的变量:

<?php
$home = "http://localhost";
include $home.'/connect.php';

$query = mysqli_query($con, "SELECT * FROM tags");
$mysql = mysqli_num_rows($query);
while($sql = mysqli_fetch_array($query)){
    $tags[] = $sql['tag_names'];
}

foreach($tags as $tag){
$dir = $home."/forums/tags/".$tag;
$file_to_create = "index.php";
$file_content = "<?php include '".$home."/all_tags.php'; ?>";

    if(mkdir($dir)){
        $file = fopen($dir.'/'.$file_to_create,"w");
        fwrite($file, $file_content);
        fclose($file);
    }
}

?>

现在一切正常,我的文件夹是用它们中的索引文件和要为每个文件写入的内容创建的。但我的问题是这样,任何时候我尝试在我的浏览器上打开索引文件我总是得到所有文件夹的错误

  

禁止访问:您无权访问此服务器上的/ forums / tags / tag_name

请有人知道我为什么会收到此错误消息?我在我的电脑上使用WAMP本地服务器

2 个答案:

答案 0 :(得分:1)

您的代码没有问题,问题在于文件或文件夹的权限,更改您的文件和文件夹权限

chmod -R 755文件夹/更改文件夹的权限以及文件夹内的文件。

在终端中运行chmod模式功能,但要记得将目录更改为正确的文件夹。

根据我以前的研究,文件夹权限通常为755,而文件权限为644,但保留为755将正常工作。

我刚刚意识到你正在使用wamp,这是用于窗口,

  • 你可以右键点击php文件
  • 转到属性下,转到安全选项卡。
  • 单击编辑并为用户提供读,写和执行,并为组和其他人执行读取,执行。

答案 1 :(得分:0)

检查文件本身的权限。在Windows上,右键单击该文件,转到属性,然后在安全选项卡上,您可以编辑权限。当我不担心安全问题时,我会允许:&#34;修改&#34;,&#34;阅读&amp;执行&#34;,&#34;阅读&#34;和&#34;写&#34;。对于SYSTEM允许&#34;完全控制&#34;同样。

我是根据使用Linux服务器的经验说的,当我得到403时,我发现情况确实如此。