【问题标题】:Warning: mkdir(): No such file or directory警告:mkdir():没有这样的文件或目录
【发布时间】:2022-11-10 21:23:53
【问题描述】:

尝试使用以下方法创建新目录:

$date = date('MDY');
$fileName = $date . '-organizations.xlsx';
$directory = "/guard/API/office/Storage/Custom Reports/";
if (!file_exists($directory) && !is_dir($directory)) {
    mkdir($directory, 0777, true);
}
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
$writer->save($directory . $fileName);
return $fileName;

但错误是:

Warning: mkdir(): Permission denied in \somedir\...

这可能是我本地开发机器上的权限问题吗?我将无法在服务器上设置权限。

谢谢!

【问题讨论】:

  • 是的,这是该文件夹的权限。当您使用/ 启动文件路径时,它正在查找服务器的根目录。如果/guard 不存在,您将无法创建任何内容,因为通常只有root 才能修改/。如果您希望 guard 位于项目目录中,请删除 /
  • 谢谢你,@aynber!你救了我的命!惊人的

标签: php mkdir


【解决方案1】:

因为您试图从根路径创建目录。尝试两种方法来修复错误。

1.将目录路径从当前更改为正确:

$directory = __DIR__."/guard/API/office/Storage/Custom Reports/";
  1. root 用户身份尝试:
exec ('sudo mkdir -m 777 '.$directory);

【讨论】:

    猜你喜欢
    • 2018-08-26
    • 1970-01-01
    • 2021-01-09
    • 2011-03-16
    • 2022-01-16
    相关资源
    最近更新 更多