我正在使用Laravel 9,我需要创建一个新文件夹,如下所示:
public function make()
{
$ip = \Request::ip();
$path = public_path().'/assets/captcha/'.$ip;
File::makeDirectory($path, $mode = 0777, true, true);
...
}
但是当这个方法运行时,它不会工作,也不会根据用户的IP地址创建新的文件夹。
但是,$ip
变量已正确设置。
到底出了什么问题?
我真的很感激你们的任何想法或建议...
1条答案
按热度按时间voj3qocg1#
默认情况下,你不能在public_path中创建文件夹(如果你不改变文件系统权限的话)。你得到了storage_path()帮助器,它会给予正确的文件夹来存储文件。
但是我建议使用存储外观,使用它你可以在配置好的存储设备上创建文件夹,并且在你的代码中完全跳过文件路径(那是在配置中)。
如果文件应该可以通过公共http访问进行下载,则可以将存储文件夹链接到文件系统中的公共文件夹。