たとえば、Hello.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><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>
ファイル名が英語または数字の場合、問題ありません。
ファイル名には英語と数字を使用すると、移植が容易になります。
中国語の名前が必要な場合は、読み取り時に urlencode し、urldecode してください
utf-8 環境では、gbk 文字が空であるのが通常です
ユーザーが中国語の文字を含むファイルをアップロードした場合はどうなりますか
urlencode と urldecode のコードはどのように記述すればよいですか? PHP を長い間学習していないので、アドバイスをお願いします。
現在のタイムスタンプを使用して名前を付けるのが最も簡単です
$dest_file = $upload_path.basename($tmp_file);
$ext=pathinfo($tmp_file,PATHINFO_EXTENSION)$dest_file = $upload_path.time().'.'.$ext;