【发布时间】:2018-03-13 00:38:00
【问题描述】:
我有一个文件夹,它将作为我的应用程序用户创建的子文件夹的容器。我使用以下命令让我的应用程序执行 mkdir() 函数:“sudo chmod -R 775 /var/www/laravel/public/folder_want_give_permission_to”、“sudo chmod -R 777 /var/www/laravel/public/folder_want_give_permission_to ", "chown -R www-data:www-data folder_want_to_give_permission_to"。当我测试我的应用程序,访问执行 mkdir 函数的页面时,我必须不时运行命令,因为 Ubuntu 似乎“忘记”了我在目录中允许的权限并且我得到“ErrorException:mkdir() : 没有权限”。当我从我授予权限的目录中删除所有子文件夹时,情况变得更糟,在我创建第一个子文件夹后立即出现错误。我使用的 Ubuntu 版本是 16.04。
为了显示我的 mkdir(),我想我必须解释所涉及的变量值。
我的系统统计子目录的数量来管理用户目录,避免创建同名目录。要创建用户目录,我使用下面的代码。
mkdir( $userdirectory, 0755, true);
如果用户是第一个注册的用户,$userDirectory 将具有这样的值。
"/var/www/laravel/public/folder_want_to_give_permission_to/1"
这将在我要授予他们权限的文件夹内创建一个子目录,以便为他们创建额外的子文件夹来存储图像。
现在创建子文件夹以在用户文件夹中存储图像。
mkdir( $userdirectory. $numSubDir, 0755, true);
$folder 的值类似于“/var/www/laravel/public/folder_want_to_give_permission_to/1/”,而 $numSubdir 存储像“1”或“2”这样的数字来存储图像。
我最终会得到这样的结果: /var/www/laravel/public/folder_want_to_give_permission_to/1/1
所以用户可以有这样的目录来存储图像:
/var/www/laravel/public/folder_want_to_give_permission_to/1/1
/var/www/laravel/public/folder_want_to_give_permission_to/1/2
另一个用户
/var/www/laravel/public/folder_want_to_give_permission_to/2/1
/var/www/laravel/public/folder_want_to_give_permission_to/2/2
如果我想做什么不清楚: /var/www/laravel/public/folder_want_to_give_permission_to/user_directory/folder_to_store_images_1
/var/www/laravel/public/folder_want_to_give_permission_to/user_directory/folder_to_store_images_2
一个
【问题讨论】:
-
Ubuntu 从不
forgets! -
贴出执行mkdir函数的页面代码
标签: php linux laravel ubuntu nginx