欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

js php上傳圖片

林國瑞1年前6瀏覽0評論
近年來,隨著互聯網的普及,上傳圖片已成為許多網站必備的功能。為了提升用戶體驗,javascript和php是目前最常用的方式。下面我們就來詳細介紹一下如何使用javascript和php實現上傳圖片。 要實現上傳圖片功能,首先需要一個input標簽(type為file)。其中的name屬性需注意,它將決定后臺收到的文件名。例如,我們可以定義如下的html標簽:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="img">
<input type="submit">
</form>
這樣,當用戶點擊submit按鈕時,上傳的圖片就可以被傳送到后臺了。 接著,我們需要在php后臺編寫代碼來處理上傳的圖片。其中最常用的函數是move_uploaded_file(),它將上傳的圖片轉移到指定目錄下。下面是一個簡單的php上傳代碼:
if(!empty($_FILES["img"])){
$name=$_FILES["img"]["name"];
$tmp_name=$_FILES["img"]["tmp_name"];
move_uploaded_file($tmp_name,"./upload/".$name);
}
這段代碼首先通過$_FILES["img"]來獲取上傳的文件信息,包括文件類型、大小、臨時文件名等。然后它利用move_uploaded_file()函數將圖片從臨時目錄轉移到指定目錄下。在上面的例子里,圖片被轉移到名為"upload"的文件夾下。 但是這個簡單的上傳方式存在一個問題:任何人都可以上傳可執行的php文件。如果上傳成功,這個php腳本就可以執行,導致嚴重的安全問題。因此,我們有必要手動進行文件類型和大小的限制,以保障系統的安全。 首先,我們可以運用php內置函數finfo_file()來判斷文件類型是否合法。下面是使用finfo_file()的php代碼:
$finfo=finfo_open(FILEINFO_MIME_TYPE);
$filetype=finfo_file($finfo,$_FILES["img"]["tmp_name"]);
$filetype=explode("/",$filetype);
if($filetype[0]!="image"){
echo "圖片格式錯誤!";
}
finfo_close($finfo);
上面的代碼利用finfo_file()函數獲取上傳文件的MIME類型,并將它以“/”作為分割符,分成兩部分。如果第一部分不是"image",就說明上傳的不是圖片格式。在這里,我們利用echo語句來告訴用戶錯誤信息。 接下來,我們還需要根據需要限制文件大小。這可以通過$_FILES["img"]["size"]來實現。下面是一個簡單的php代碼:
if($_FILES["img"]["size"]>1024*1024){
echo "文件過大!";
exit();
}
上面的代碼限制上傳圖片最大為1MB。如果超過這個大小,就將結果輸出給用戶,并停止執行程序(通過exit()函數)。 最終,為了保障安全與穩定性,我們還需要對上傳的文件進行重命名。這可以通過運用php內置函數rename()來實現。下面的php代碼就是一個例子:
if(!empty($_FILES["img"])){
$name=date("YmdHis").rand(1000,9999).".jpg";
$tmp_name=$_FILES["img"]["tmp_name"];
$path="./upload/".$name;
$filetype=$_FILES["img"]["type"];
$finfo=finfo_open(FILEINFO_MIME_TYPE);
$real_type=finfo_file($finfo,$tmp_name);
finfo_close($finfo);
if($real_type!=$filetype){
echo "文件類型錯誤!";
exit();
}
if($_FILES["img"]["size"]>1024*1024){
echo "文件過大!";
exit();
}
move_uploaded_file($tmp_name,$path);
echo "上傳成功!";
}
上面的代碼首先生成一個隨機的文件名,然后利用rename()函數將其轉移。在轉移過程中,我們還利用finfo_file()函數判斷文件類型是否合法,利用$_FILES["img"]["size"]判斷文件大小是否合規,以確保上傳能夠安全進行。 把上面的php代碼與前面的html代碼組合,就能夠實現基本的上傳圖片功能。當然,如果想要拓展更多功能(例如上傳進度顯示),還需要更深入的php和javascript知識。
上一篇js php 速度
下一篇b樹 php