我正在尝试使用php代码上传具有阿拉伯语名称的文件
echo move_uploaded_file($_FILES["uploadfile"]["tmp_name"],"images/artimgs/".$_FILES["uploadfile"]["name"]);
但文件上传时文件夹“artimgs”中的文件名称如下所示:طط³ط§ظ†。jpg
我希望上传后的文件在初始文件的阿拉伯语中具有相同的名称。
答案 0 :(得分:0)
按原样回答您的问题:
您可以检查表单页面编码,它可能是windows-1256,在您提交此表单的页面中都必须是utf-8,以及显示文件名时的页面。
说出我对代码的看法:
您可以指定自己的文件名,如[Marc B]建议的那样。
答案 1 :(得分:0)
我尝试对文件名进行编码,然后我将其上传为:$imgn=utf8_encode($_FILES["uploadfile"]["name"]);
$imgtmp=utf8_encode($_FILES["uploadfile"]["tmp_name"]);
echo move_uploaded_file($imgtmp,"images/artimgs/".$imgn);
但我的结果相同
答案 2 :(得分:0)
这可能会有所帮助:
/* PHP Internal Encoding */
define('PHP_ENC', 'UTF-8');
mb_internal_encoding(PHP_ENC);
ini_set('default_charset', PHP_ENC);