当前位置: 首页 > 知识库问答 >
问题:

PHP-fopen:无法打开流:权限被拒绝

钱志
2023-03-14

我是PHP新手。我计划根据用户输入创建文件夹、子文件夹。

文件夹和子文件夹已成功创建。

最后我尝试创建一个文件,它显示以下错误。

fopen(upload/llocalhost/hrms):无法打开流:在C:\xamp\htdocs\ssspider\index中的权限被拒绝。php第205行

我的代码是:

$dir = "http://localhost:8080/hrms/index.php";

//make directory
$directoryForServer = "upload";
$directoryForClient = $directoryForServer."/".$host."";
mkdir($directoryForClient);


$splitePath = explode("/", $folderPath);

$folderPath1 = $directoryForClient;

for($x = 1; $x <= (count($splitePath)-1) ; $x++)
{
    $folderPath1 = $folderPath1."/".$splitePath[$x];
    echo "<br>".$folderPath1." - successfully created<br>";
    mkdir($folderPath1);
}

writefile($folderPath1);



function writefile($dir)
{
 if( is_dir($dir)){
    echo $dir;

    $myFile = fopen($dir,"w");
    if($myFile)
    {
        fwrite($myFile, $returned_content);
    }
    fclose($myFile);
  }
}

请帮我找出我的问题?

编辑:谢谢。我出错了。以前我没有提到文件名。现在工作正常。谢谢

共有1个答案

范玄裳
2023-03-14

因为您打开了一个目录,fopen函数只打开文件。您的代码充满了错误,请参阅以下内容:

<?php  

//make directory
$host = "aa";         //define $host variable
$directoryForServer = "upload";
$directoryForClient = $directoryForServer."/".$host."";
@mkdir($directoryForClient);  

$splitePath = explode("/", $directoryForClient);
$folderPath1 = $directoryForClient;

for($x = 1; $x <= (count($splitePath)-1) ; $x++)
{
    $folderPath1 = $folderPath1."/".$splitePath[$x];
    echo "<br>".$folderPath1." - successfully created<br>2";
    @mkdir($folderPath1);
}

writefile($folderPath1);


function writefile($dir)
{
 if( is_dir($dir)){
    echo $dir;
    $myFile = fopen("upload/aa.txt","w");
    if($myFile)
    {
        $returned_content = "hello world";  //define variable and his content before write to file.
        fwrite($myFile, $returned_content);
    }
    fclose($myFile);
  }
}
 类似资料:
  • 我在Macbook pro osx 10.9 Firefox浏览器上使用XAMP 1.7.3 基本上,我正在尝试编写一个代码,要求用户输入一些信息,然后使用以下方法将信息存储在.txt文件中: 但是我一直收到这个错误消息: 警告:fopen(registration.txt) [function.fopen]:无法打开流:第 30 行的 /Applications/XAMPP/xamppfiles

  • 我写了这段代码: 但是当我运行它的时候,它说: fopen(testfile.rtf):无法打开流:第64行的/Applications/XAMPP/xamppfiles/htdocs/test/test1.php中的权限被拒绝无法打开文件 我在MAC上使用XAMPP在本地服务器上工作。 我发现了几个主题,其中一些人有相同的问题,并用一种叫做“chmod777”的东西解决了它,但我不知道这意味着什

  • 我想上传一张图片。每次我试图上传图片时,我都会收到下面的错误信息。 我已经设置了读取权限 警告:move_uploaded_file(上载/1000020170620022532img3.png):无法打开流: /Applications/XAMPP/xamppfiles/htdocs/social-network-master/profile.php第41行的权限被拒绝 警告:move_uplo

  • 我有一个问题与PHP脚本在我的网络服务器(Apache/2.4.10在Raspbian),我不能生成一个新的文件。我试过chmod 777(这是非常糟糕的做法),但它仍然不起作用。我已经为此挣扎了几天,即使经过广泛的研究,我也找不到解决这个问题的方法。下面是我的代码和它产生的错误消息: 警告:fopen(newfile.txt):无法打开流:第4行 /var/www/html/handlers/w

  • 嘿,我总是出错 警告:move_uploaded_file(路径):无法打开流:/Users/Shared/xampp htdocs/php reports/upload中的权限被拒绝。php第27行 我的index.php密码是 我的php代码是 我还将目录设置为 chmod 777

  • 问题内容: 当尝试在CentOS上使用Apache 2.2和PHP 5.3配置上传目录时,我一直收到此错误。 在php.ini中: 在httpd.conf中: CentOS目录权限: 无论我做什么,在上传文件时,都会不断从PHP收到此错误: 警告:move_uploaded_file(images / robot.jpg):无法打开流:在第78行的/var/www/html/mysite/proc