我正在尝试解码base64字符串并将其写入文件:
<?php
// requires php5
define('UPLOAD_DIR', '/images/');
$img = $_POST['img'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = UPLOAD_DIR . uniqid() . '.png';
$success = file_put_contents($file, $data);
print $success ? $file : 'Unable to save the file.';
?>
但是服务器给出以下错误消息:
403禁止访问
您无权访问此服务器上的testupload.php
我已经为php文件和images目录设置了所有权限,所以我不明白为什么会出现此错误。
当我将解码后的图像字符串直接放在$img
变量中时,它可以工作,并且会在images文件夹下创建文件...但是当我尝试发布解码后的字符串时,它不起作用。
我该如何解决?
注意: 当我们尝试发送解码后的图像字符串时,它可能包含某些病毒或来自黑客的病毒……我与主机提供商联系,他们说如果您希望我们可以使用modsecurity,但这样做的确是不安全的。 。那么我与这种情况有什么关系?