比如 你好.txt 上传到服务器就成了 .txt,文件名部分是空的,不知道为什么。windows系统下文件名不是不允许为空吗?上传处理代码<?
$upload_path = $_SERVER['DOCUMENT_ROOT']."/upload/";
$tmp_file = $_FILES['myfile']['name'];$dest_file = $upload_path.basename($tmp_file);
if(move_uploaded_file($_FILES['myfile']['tmp_name'],$dest_file))
{
echo "文件已上传至服务器根目录的upload目录下!";
print_r($dest_file);
}
else
{
echo "文件上传时发生了一个错误".$_FILES['myfile']['error'];
}
?>
HTML代码<html>
<head><title>upload</title></head>
<body>
<form enctype="multipart/form-data" action="upload.php" method="POST">
上传此文件:<input name = "myfile" type="file" />
<input type="submit" value="提交上传" />
</form>
</body>
</html>
$upload_path = $_SERVER['DOCUMENT_ROOT']."/upload/";
$tmp_file = $_FILES['myfile']['name'];$dest_file = $upload_path.basename($tmp_file);
if(move_uploaded_file($_FILES['myfile']['tmp_name'],$dest_file))
{
echo "文件已上传至服务器根目录的upload目录下!";
print_r($dest_file);
}
else
{
echo "文件上传时发生了一个错误".$_FILES['myfile']['error'];
}
?>
HTML代码<html>
<head><title>upload</title></head>
<body>
<form enctype="multipart/form-data" action="upload.php" method="POST">
上传此文件:<input name = "myfile" type="file" />
<input type="submit" value="提交上传" />
</form>
</body>
</html>
$dest_file = $upload_path.basename($tmp_file);
改为
$ext=pathinfo($tmp_file,PATHINFO_EXTENSION)
$dest_file = $upload_path.time().'.'.$ext;或者用base64编码,感觉要比urlencode要好。