move_uploaded_file移动到同一个文件夹,没有错误

时间:2014-12-10 08:51:50

标签: php ajax json angularjs rest

我将以下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;
}

1 个答案:

答案 0 :(得分:2)

move_uploaded_file仅用于在文件输入字段中上传到tmp文件夹中的文件,该文件夹在php.ini配置中指定

在您的情况下,您应该使用复制重命名

<强> UPD。 用一个名字保存文件并重命名后也没用。