php这个为什么没有写入文件呢?

用的laravel框架 在public目录下建了一个url.txt文件 执行下面代码后为什么文件还是空的?

$path = public_path().'url.txt';
file_put_contents($path,'test',FILE_APPEND);
阅读 2.1k
2 个回答

public_path() 方法返回的路径是没有后面的斜杠的。

假设,你的 public 目录在 /www/example.com/public

也就是说你这样直接写,拼接的路径实际上是 /www/example.com/publicurl.txt ,而不是理想的 /www/example.com/public/url.txt

解决办法:

1、在 url.txt 前面加上 / 也就是 $path = public_path() . '/url.txt';
2、public_path 方法是可以接受参数的,传入的参数会自动拼接成路径,并且不需要路径前面的 /,即使用 $path = public_path('url.txt'); 这样就可以。

file_put_contents 有写入字节返回值,输出一下看看

$path = public_path().'url.txt';
echo file_put_contents($path,'test',FILE_APPEND);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题