move_uploaded_file function in PHP


move_uploaded_file function in PHP

我遇到了一个问题,我使用move_uploaded_file()函数上传文件和一些用阿拉伯语命名的文件,所以我在谷歌上搜索了这个问题,但仍然没有答案。我使用了元标记,使用了Base64编码和其他一切,但仍然不起作用。解决方案是什么?

<?php
    $data_name=$_POST['name'];
    $name=base64_encode($_FILES['file']['name']);
    $location="../Files/".$course_name."/";
    $tmp_name=$_FILES['file']['tmp_name'];
    if(move_uploaded_file($tmp_name, $location.$name))
        echo"OK";
?>

一种解决方案可以是:

有一个数据库,保存你的文件的阿拉伯名称,并为该文件提供一些自定义的唯一名称和当前时间,也将自定义名称保存到数据库中,在检索时更改文件名并显示给用户。

或者使用一些名称转换库,将文本从阿拉伯语转换为英语,反之亦然。为此,请查看这些参考

如何将英语动态转换为阿拉伯语

将波斯/阿拉伯数字转换为英语数字

或者使用php将字符串转换为utf-8以获得帮助:

PHP:在不知道原始字符集的情况下将任何字符串转换为UTF-8,或者至少尝试

http://php.net/manual/en/function.utf8-encode.php