我将以下json查询发布到我的PHP文件中,其中"上传文件"是转换后的base64到" xxx"文件类型:
$http.post(
preUrl + 'assets/new.php',
data
);
我在响应中没有错误,一切似乎都很好地过渡了。以下是我在PHP中的代码:
$fileExt = explode("image/", $_POST["poster"])[1];
$fileExt = explode(";", $fileExt)[0];
$filename = uniqid(md5($_POST["poster"])).".".$fileExt;
$poster = convert2image($_POST["poster"], $filename);
/*Everything up to here works as expected, convert2image converts from b64 to file format*/
move_uploaded_file($poster, "/var/www/vhosts/xxxxxx.org/i.xxxxxx.org/uploads/".$poster);
/*This last line doesn't seem to work, the file is saved into the same directory where the PHP file is*/
这是我的convert2image脚本,也许这与它有关?
function convert2image($b64, $output_file){
$ifp = fopen($output_file, "wb");
$data = explode(',', $b64);
fwrite($ifp, base64_decode($data[1]));
fclose($ifp);
return $output_file;
}
答案 0 :(得分:2)
move_uploaded_file仅用于在文件输入字段中上传到tmp文件夹中的文件,该文件夹在php.ini配置中指定
在您的情况下,您应该使用复制或重命名
<强> UPD。强> 用一个名字保存文件并重命名后也没用。