我的公共文件夹中有这个结构:
/images
/player_icons
Ajax.png
Barcelona.png
...
我需要让管理员用户只需输入新名称即可重命名文件,而不是上传新文件。
我已经尝试过老派的 PHP 方式:
rename('/images/player_icons/Ajax.png', '/images/player_icons/test.png');
这会产生错误:
File not found at path: images/player_icons/Ajax.png
我也尝试过使用Storage
门面,虽然从它的外观来看,这不能在公共文件夹中工作:
Storage::move('/images/player_icons/Ajax.png', '/images/player_icons/test.png');
我不明白为什么该rename()
选项不起作用。如果我example.com/images/player_icons/Ajax.png
在浏览器中访问,图像就在那里。
我该如何做到这一点?
您可能需要public_path
尝试一下辅助函数
public_path 函数返回公共目录的完全限定路径。您还可以使用 public_path 函数生成公共目录中给定文件的完全限定路径
然而,在公共目录重命名的东西直接意味着你HAVE这个目录给写入权限或更改所有权此目录服务器用户所拥有(这几乎会www-data
),这是一种有风险的事情。
更好的方法是(符号链接)存储路径(默认情况下可写)并让用户在那里上传和重命名文件
更多关于这方面的信息可以在这里找到:文件系统文档
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句