PHP問題 - 上傳檔名中文亂碼
阿新 • • 發佈:2018-12-26
iconv()按要求的字元編碼轉換字串
string iconv ( string
$in_charset
, string$out_charset
, string$str
)
in_charset
輸入的字符集。
out_charset
輸出的字符集。
str
要轉換的字串。
(啥時候有閒心加個預覽吧~)
65行:“move_uploaded_file($_FILES['file']['tmp_name'],iconv("UTF-8", "gb2312", $path."/".$_FILES['file']['name']));”
upload.php
<html> <head> <meta charset="UTF-8"/> <style> body{ background-size:100%; display: block; text-align: -webkit-center; margin: 0; padding: 0; } input{ border-bottom: 1px solid #1883ba; border-right-width: 0; border-top-width: 0; border-left-width: 0; text-align: center; } </style> <title>檔案圖片</title> </head> <body> <form method="post" action="upload.php" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="1000000"/><br/> 選擇圖片:<input type="file" name="file"/><br/> <input type="submit" value="提交" name="submit"/><br/> </form> <a href="index.php">返回首頁</a> </body> </html> <?php if(isset($_POST['submit'])&&$_POST['submit']) { $allow_type=array("image/gif","image/jpg","image/png","image/jpeg","image/pjpeg");//對於 IE,識別 jpg 檔案的型別必須是 pjpeg,對於 FireFox,必須是 jpeg $size=1000000; $path="./image"; if(!is_dir($path)) { mkdir($path); } if($_FILES['file']['size']>$size) { die("檔案超過".($size/1024)."kb"); } if(!in_array($_FILES['file']['type'],$allow_type)) { die("檔案型別不支援"); } if ($_FILES["file"]["error"] > 0) { die("錯誤: " . $_FILES["file"]["error"] . "<br/>"); } if(file_exists($path."/".$_FILES['file']['name'])) { die( $_FILES['file']['name']."已存在"); } if(!is_uploaded_file($_FILES['file']['tmp_name'])) { die("非上傳檔案"); } if(move_uploaded_file($_FILES['file']['tmp_name'],iconv("UTF-8", "gb2312", $path."/".$_FILES['file']['name']))) echo "檔案上傳成功<br/>".$_FILES['file']['name']."上傳成功!大小為".intval($_FILES['file']['size']/1024)."kb"; else echo"檔案上傳失敗"; } ?>
echo "好多刪不掉的空行啊";