php上傳文件後綴
$filename = basename($_FILES['image']['name']);
$file_ext = strtolower(substr($filename, strrpos($filename, '.') + 1));
echo $file_ext;
請樓主先試試用這幾句看是否能獲取到後綴名
一般來說,即使系統沒有顯示後綴名,在php上傳中也是可以獲取到後綴名的
還有,就是要檢查一下,move_uploaded_file函數里,目標地址的圖片名稱是否拼接了後綴名
② 我把後綴名為.php的文件上傳到雲伺服器中,用電腦版的瀏覽器可以正常
具體錯誤信息是什麼?
如果真是這樣,那應該是php里有識別客戶端分別執行的代碼。
或者你電腦和手機打開的方式不同,如:有一端是提交了表單到伺服器的。
否則,有可能是js或其它錯誤。
③ php判斷上傳文件類型,是取原名後輟好,還是用$_FILES['inputname']['type']好
首先判斷$_FILES['inputname']['type'],對於能夠識別的類型更正文件後綴,然後再判斷後綴。
因為$_FILES['inputname']['type']只能識別少數類型,但是它是根據文件內容來識別的,特別是對於許多把BMP圖形保存為JPG文件的相機,一下就現原型了,而你的程序可能針對BMP有轉換為JPG的處理。
④ PHP上傳完圖片以後怎麼獲取它上傳到服務里邊的文件名及格式後綴
使用$_FILES[]超全局數組,獲取到上傳文件的詳細信息
⑤ php怎樣改變上傳到伺服器上的文件的後綴名謝謝了,大神幫忙啊
直接rename($o,$n),$o是舊文件名,$n要被修改成的新文件名哦 就可以了
⑥ php 驗證上傳的文件類型為圖片,並獲得文件的後綴名
以下是我上傳了一個圖片後顯示的 $_FILES['filename']的信息
[filename] => Array
(
[name] => Winter.jpg
[type] => image/jpeg
[tmp_name] => /tmp/php2jw7QX
[error] => 0
[size] => 105542
)
其中type是文件類型的minitype 表示方法,例如普通的HTML的類型是text/html
如果你想用擴展名的方式判斷的話可以用以下代碼:
<?php
#允許的文件擴展名
$allowed_types = array('jpg', 'gif', 'png');
$filename = $_FILES['filename']['name'];
#正則表達式匹配出上傳文件的擴展名
preg_match('|\.(\w+)$|', $filename, $ext);
#print_r($ext);
#轉化成小寫
$ext = strtolower($ext[1]);
#判斷是否在被允許的擴展名里
if(!in_array($ext, $allowed_types)){
die('不被允許的文件類型');
}
?>