每個網站幾乎都有文件上傳的功能,文件上傳功能幾乎是所有網站所必備的,然而該功能對於伺服器來說具有很大的風險,所以,我們對上傳文件的大小和類型來進行限制,可以透過取得
上傳檔案的後綴、來限制上傳檔案的類型。
取得上傳檔案的後綴
取得上傳檔案的後綴可以透過strrev()函數對上傳檔案的名稱進行反轉輸出,並透過explode()函數以"."為分隔符,將檔案名稱分割,讓後再套用strrev()函數對數組中的第一個元素值進行回傳輸出,所取得的就是上傳檔案的後綴。
strrev()函數是對PHP中的字串進行逆序輸出,語法如下:
strrev(string)
參數string是指定需要反轉的字串
explode() 函數把字串打散為數組,具體的可以查看我們的字串專題
範例
前段上傳文件程式碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <meta name="keywords" content=" keywords" /> <meta name="description" content="description" /> </head> <body> <form method="post" action="" enctype="multipart/form-data"> <input type="file" name="upfile" size="20" /> <input type="submit" name="submit" value="上传" /> </form> </body> </html>
程式碼執行結果如下:
#後端程式碼
建立PHP腳本文件,當點擊「上傳」按鈕時,首先,利用POST接收文字方塊中的資訊。其次,利用反轉函數將文字方塊資訊資料反轉,並利用字串拆分函數,以「.」進行分割。然後,將分割結果保存在陣列之中。最後,將指定資料再次反轉取得並輸出上傳檔案的後綴名稱,程式碼如下:
<?PHP if(isset($_POST['submit'])) { $string = strrev($_FILES['upfile']['name']); $array = explode('.',$string); echo $array[0]; } ?>
#利用strrev()函數檢索字串相對麻煩,可以使用正規表示式函數preg_match()來完成該功能。
【相關文章推薦】
#以上是如何取得上傳檔案的後綴? php strrev()函數用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!