0

我试图让用户将他们的图片上传到网站并按原始文件名显示。在英语中,一切都按计划进行,但是当我尝试上传带有空格的不同语言的文件时,它会将文件上传为:“.jpg”,仅没有文件名,只有文件类型。或一些无法从网站上读取为链接 (src="") 的丑陋文本。起初我使用 windows(xampp),但后来我理解了 utf-8 问题,我买了一台 linux 服务器,情况有所好转,但仍然不是 100% 成功。

(顺便说一句,我知道数据库文件名存储和真实文件名作为唯一编号的选项,但我不确定它对我来说是最佳解决方案,因为它会减慢服务器从数据库中读取大量文件的速度。)

有人能指出我的错误吗?

索引.html:

<script>
    $('#transFrame').load(function () {
    alert("file uploaded");
    ...fix the file into the img src="..";
    });
</script>
    <form target="transFrame" enctype="multipart/form-data" action="upload.php" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE"      value="200000" /> Choose image to upload:  
    <input  id = "imagefile" name="uploadedfile" type="file" onchange="submit();" /><br />
                </form>
<iframe style="display:none;" name="transFrame" id="transFrame"></iframe>

上传.php:

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 

    if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
        echo "success" . $_FILES['uploadedfile']['name'] ;
    } else{
        echo "failed" . $_FILES['uploadedfile']['name'] ;
    }
4

0 回答 0