我正在尝试上传具有阿拉伯名称的文件(مرحبابكم),但是当我将其上传到服务器时,字符串不正确,它会显示这样的字符(ريÙ-Ù).
那么,我如何上传文件并保留正确的阿拉伯名字?
<form action="up.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)
PHP文件:
<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
?>
Run Code Online (Sandbox Code Playgroud)
为什么不能使用 base64 对文件名进行编码和解码。
getfile name->
$encoded_fname = base64_encode("arabic_filename")
upload file->move_uploaded_file with encoded filename;
move_uploaded_file($_FILES["file"]["tmp_name"],"path/to/move/" . $encoded_fname);
Run Code Online (Sandbox Code Playgroud)
下载时如果需要的话可以解码。
希望这能给你一个想法。