我有这个密码
<?php // display file upload form
if (!isset($_POST['submit'])) { ?>
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="8000000" /> Select file:
<input type="file" name="data" />
<input type="submit" name="submit" value="Upload File" /></form>
<?php
} else {
// check uploaded file size
if ($_FILES['data']['size'] == 0) {
die("ERROR: Zero byte file upload");
} // check if this is a valid upload
if (!is_uploaded_file($_FILES['data']['tmp_name'])) {
die("ERROR: Not a valid file upload"); } // set the name of the target directory
$uploadDir = "./uploads/"; // copy the uploaded file to the directory
move_uploaded_file($_FILES['data']['tmp_name'], $uploadDir . $_FILES['data']['name']) or die("Cannot copy uploaded file"); // display success message
echo '<p style="text-align: center">
Soubor byl úspěšně nahrán na server. <br>
<a href="index.php" class="button1">Zpět</a>
</p>
' ; } ?>
我有一个问题-它可以工作,将文件上传到服务器,但如果文件名出现中断,我无法下载。e、 g我想上传“my salaryúnor.pdf”,但服务器一直在寻找“my”文件。是否有办法修改此代码以将文件名中的分隔符更改为“\u1”?另外,我希望服务器是utf-8字母(因为服务器将文件名更改为愚蠢的名称,例如u?nor),所以如果有一个选项也可以,那就太好了。(或者让php更改文件名inty“my_salary_unor”谢谢大家的帮助和建议。
首先,将文件名存储在变量中并对其进行修剪。
$filename=trim($_文件['data']['name'])代码>
然后使用字符串替换函数将空白替换为_(下划线)。
$filename=str_replace(' ',' _',$filename);
现在你得到的文件名将是空白字符串。
希望这能帮到你。