gpt4 book ai didi

php - file_put_contents 不工作

转载 作者:行者123 更新时间:2023-12-04 15:52:37 26 4
gpt4 key购买 nike

我尝试使用以下代码通过file_put_contents(转换为.jpg的base64字符串)将某些内容上传到我的ubuntu服务器:

file_put_contents($filename, base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $data)));

是的,所有参数都是正确的,我仔细检查了它们。我想知道为什么它不起作用:

顺便说一句:我尝试将其上传到一个文件夹,该文件夹比该文件夹高一级,该文件夹可通过 url 访问(但即使将其直接放在 Internet 文件夹中,它也不起作用)。

我考虑过不好的权限,但即使将权限更改为 777(我知道这是非常不安全的),它也不起作用。

我在控制台中也没有任何错误。

有谁知道为什么这不起作用?

谢谢。

最佳答案

文件夹权限

关于您尝试保存的文件夹的权限( /var/www/html ),您可以更改文件夹的组并更改权限,以便该组可以写为:

$ sudo chgrp www-data /var/www/html/
$ sudo chmod 775 /var/www/html

正则表达式
preg_replace('#^data:image/\w+;base64,#i', '', $data)
AFAIK 模式 必须有开始和结束斜线,我想你混淆了 /# ,所以看起来像
/^data:image/\w+;base64,/i
在某些版本中,图像后的斜线仍然会给您带来一些问题,因此请使用反斜杠对其进行转义
/^data:image\/\w+;base64,/i
我认为这会做:)

关于php - file_put_contents 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33001363/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com