Php Copy():文件名长于允许的最大路径。。。Base64图像
我有“拖放”图像上传。我通过ajax将图像作为Php Copy():文件名长于允许的最大路径。。。Base64图像,php,server,copy,Php,Server,Copy,我有“拖放”图像上传。我通过ajax将图像作为“Base64图像”发送到我的模块,然后使用“copy()”移动图像 例如:copy($image\u in\u b64,$destination) 它回来了 copy():文件名超过了上允许的最大路径长度 该平台(4096):数据:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAA 在我的本地服务器上一切都很好,但我无法在已部署的服务器上上载任何内容。我怎样才能解决这个问题?这是服务器配置中的内容吗(什么)?谢
“Base64图像”
发送到我的模块,然后使用“copy()”
移动图像
例如:copy($image\u in\u b64,$destination)代码>
它回来了
copy():文件名超过了上允许的最大路径长度
该平台(4096):数据:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAA
在我的本地服务器上一切都很好,但我无法在已部署的服务器上上载任何内容。我怎样才能解决这个问题?这是服务器配置中的内容吗(什么)?谢谢您的评论,我必须对我的图像进行编码,然后才能上传它
解决方案:
$data = //image in base64
list($img_type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
file_put_contents($path, $data);
Base64编码文件不是文件路径。为什么它在本地主机上工作?移动此文件的另一种方法是什么?从中可以看出,您需要在服务器上启用“fopen wrappers”。您还可以将其与Ajax一起使用,然后将其作为PHP中的普通文件上载进行威胁。