有时候上传文件是中文的文件名会出现乱码,
可以在移动文件时使用icov('utf-8','gb2312',filename)转换
代码:
<?php //header('Content-type: text/html;charset=utf-8'); if (!empty($_FILES)) { $fileInfo = $_FILES['myUpload']; //echo '<pre>'; //print_r($fileInfo); //echo '</pre>'; $fileName = $fileInfo['name']; $fileType = $fileInfo['type']; $fileTmpName = $fileInfo['tmp_name']; $fileError = $fileInfo['error']; $fileSize = $fileInfo['size']; // echo '文件名称:' . $fileName . '<br />文件类型:' . $fileType . '<br />文件临时目录' . $fileTmpName . '<br />文件错误:' . $fileError . '<br />文件大小: ' . $fileSize.'bytes'; if ($fileError == UPLOAD_ERR_OK) { if (move_uploaded_file($fileTmpName,iconv('utf-8','gb2312','./uploads/'.$fileName))) { // echo __FILE__; $fileDir = dirname(__FILE__); // echo $fileDir; // var_dump($fileDir); // $openFile = $fileDir.'/uploads/'.$fileName; // while (file_exists($fileName)) { echo '文件存在'; // $fileName = iconv('gbk','utf-8',$fileName); // var_dump($temp); // } echo "<img src=".\uploads\" . $fileName . "" alt="$fileName" />"; echo '上传成功'; } else { echo '上传失败'; } } else { switch ($fileError) { case 1: echo '上传的文件超过php.ini中的upload.max.filesize的限制'; break; case 2: echo '文件超过表单的MAX_FILE_SIZE的限制'; break; case 3: echo '部分表单被上传'; break; case 4: echo '未发现上传文件'; break; case 6: echo '未发现临时文件'; break; case 7: echo '文件写入失败'; break; case 8: echo 'php文件上传拓展没有打开'; break; default: echo '未知错误,请联系管理员,happy@13.com'; break; } } } else { echo '未知错误'; }