日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

PHP上传图片三个步骤

發(fā)布時(shí)間:2025/3/21 php 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP上传图片三个步骤 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 上傳圖片三步驟

第一步:首先判斷文件類型是否為圖片格式,若是則上傳文件;

第二步:然后重命名文件(一般都是避免上傳文件重名,現(xiàn)在基本上都是以為時(shí)間來命名);

第三步:最后把文件上傳到指定目錄,成功上傳后輸出上傳圖片的預(yù)覽。

2. 代碼

(1)判斷文件類型是否為圖片類型

1 <?php 2 function type(){ 3 return substr(strrchr($HTTP_POST_FILES['file']['name'],'.'),1); 4 } 5 ?>

說明:

  • strrchr:查找字符串在另一個(gè)字符串中最后一次出現(xiàn)的位置,并返回從該位置到字符串結(jié)尾的所有字符。
  • substr: 取部份字符串。
  • $HTTP_POST_FILES['file']['name']:獲取當(dāng)前上傳的文件全稱.
  • (2)若是圖片,則上傳文件,然后根據(jù)時(shí)間重命名文件

    1 if(!in_arry(strtolower(type()),$type)){ 2 $text=implode('.',$type); 3 echo "您只能上傳以下類型文件: ",$text,"<br>"; 4 }else{ 5 $filename=explode(".",$_FILES['userfile']['name']);//把上傳的文件名以“.”號為準(zhǔn)做一個(gè)數(shù)組。 6 $time=date("m-d-H-i-s");//去當(dāng)前上傳的時(shí)間 7 $filename[0]=$time;//取文件名t替換 8 name=implode(".",$filename); //上傳后的文件名 9 $uploadfile=$uploaddir.$name;//上傳后的文件名地址 10 }

    這個(gè)步驟也要分三步:

      首先,寫一個(gè)能上傳類型的數(shù)組;?$type=array("jpg","gif","bmp","jpeg","png");?

      然后,判斷文件合法性;

      最后,給文件重名。

    說明:

    • strtolower:把字符串的字母全部轉(zhuǎn)換為小寫字母.
    • in_array: 函數(shù)在數(shù)組中搜索給定的值。
    • implode:函數(shù)把數(shù)組元素組合為一個(gè)字符串
    • random:隨機(jī)生成的數(shù)
    • $_FILES['userfile']['name']:上傳文件名稱
    • uploaddir個(gè)個(gè)FILEuploaddir:自己定義的變量。比如在同一個(gè)文件夾里面,你想把上傳的文件放到這個(gè)文件夾的FILE文件夾下,你可以這樣定義uploaddir="./file/";注意寫法
    • $_FILES["file"]["name"] - 被上傳文件的名稱
    • $_FILES["file"]["type"] - 被上傳文件的類型
    • $_FILES["file"]["size"] - 被上傳文件的大小,以字節(jié)計(jì)
    • $_FILES["file"]["tmp_name"] - 存儲在服務(wù)器的文件的臨時(shí)副本的名稱
    • $_FILES["file"]["error"] - 由文件上傳導(dǎo)致的錯(cuò)誤代碼

    ?

    (3)最后把文件上傳到指定目錄,成功上傳后輸出上傳圖片的預(yù)覽

    1 if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile)){ 2 echo "<center>您的文件已經(jīng)上傳完畢 上傳圖片預(yù)覽: </center><br><center><img src='$uploadfile'></center>"; 3 echo "<br><center><a href='javascrīpt:history.go(-1)'>繼續(xù)上傳</a></center>"; 4 }else{ 5 echo "傳輸失敗!"; 6 }

    move_uploaded_file()?函數(shù)是PHP系統(tǒng)函數(shù),將上傳的文件移動(dòng)到新位置。

    語法:?move_uploaded_file(file,newloc)?

    注釋:本函數(shù)僅用于通過 HTTP POST 上傳的文件。

    注意:如果目標(biāo)文件已經(jīng)存在,將會被覆蓋。


    本文轉(zhuǎn)自ZH奶酪博客園博客,原文鏈接:http://www.cnblogs.com/CheeseZH/p/4567111.html,如需轉(zhuǎn)載請自行聯(lián)系原作者

    總結(jié)

    以上是生活随笔為你收集整理的PHP上传图片三个步骤的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。