php圖片上傳處理
上傳圖片原理:首先判斷文件類型是否為圖片格式,若是則上傳文件,然後重命名文件(一般都是避免上傳文件重名,現在基本上都是以為時間來命名),接著把文件上傳到指定目錄,成功上傳後輸出上傳圖片的預覽。
1.首先我們開始判斷文件類型是否為圖片類型用到的函數
{
strrchr:查找字元串在另一個字元串中最後一次出現的位置,並返回從該位置到字元串結尾的所有字元。
substr: 取部份字元串。
$HTTP_POST_FILES['file']['name']:獲取當前上傳的文件全稱。
}
圖片類型就是「.」後面的字元(比如:一個文件名稱為XXX.JPG 那麼它的類型就是「.」後面的JPG)。 我們可以用PHP中的函數來截取上傳者文件名字的。我們來寫個獲取文件類型的函數
<?
function type()
{
return substr(strrchr($HTTP_POST_FILES['file']['name'],'.'),1);
}
?>
2.若是則上傳文件,然後重命名文件用到的函數
{ strtolower:把字元串的字母全部轉換為小寫字母. in_array: 函數在數組中搜索給定的值。 implode:函數把數組元素組合為一個字元串 random:隨機生成的數 $_FILES['userfile']['name']:上傳文件名稱 $uploaddir:自己定義的變數。比如在同一個文件夾裡面,你想把上傳的文件放到這個文件夾的FILE文件夾下,你可以這樣定義$uploaddir="./file/";注意寫法 } 這邊會出現很多問題,第一先寫一個能上傳類型的數組。第二判斷文件合法性。第三給文件重名。*(這邊判斷文件大小就不寫了)先定義允許上傳文件的類型數組:$type=array("jpg","gif","bmp","jpeg","png");第二用一個IF。。else。。寫一個判斷文件合法性的控制流語句。if(!in_arry(strtolower(type()),$type))//如果不存在能上傳的類型 { $text=implode('.',$type); echo "您只能上傳以下類型文件: ",$text,"<br>"; } 下面就是給他們重新命名了,else { $filename=explode(".",$_FILES['userfile']['name']);//把上傳的文件名以「.」好為准做一個數組。 $time=date("m-d-H-i-s");//去當前上傳的時間 $filename[0]=$time;//取文件名t替換 name=implode(".",$filename); //上傳後的文件名 $uploadfile=$uploaddir.$name;//上傳後的文件名地址 } 3.最後把文件上傳到指定目錄,成功上傳後輸出上傳圖片的預覽用到的函數{ move_uploaded_file:執行上傳文件 } if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile)) { echo "<center>您的文件已經上傳完畢 上傳圖片預覽: </center><br><center><img src='$uploadfile'></center>"; echo"<br><center><a href='javascrīpt:history.go(-1)'>繼續上傳</a></center>"; } else { echo"傳輸失敗!"; }
⑵ PHP上傳圖片的操作用POST方式傳遞到處理頁面後是直接用$file得到上傳的文件還是一定要用$POST['file']得到
html:
<form action="upload.php" method="post" enctype="multipart/form-data" >
<input type="file" name="file"/>
<input type="submit" name="submit" value="Submit" />
</form>
php:
$_FILES["file"] //文件
$_FILES["file"]["type"] //文件類型
$_FILES["file"]["size"] //文件尺寸
⑶ php 實現圖片上傳如何實現
$_FILES數組處理刪除即可
⑷ php+mysql怎樣處理用戶上傳的圖片、文件和文本內容
據我的理解:
1、你要先確定資料庫欄位的類型,假設,這個欄位是文本型,那麼就不能輸入其他類型的數據(也就是說,你不能把圖片的內容保存到文本類型的欄位里)。
2、根據你的需要:
假設用戶上傳的文件(文本或是圖片等)你想將其內容都保存在資料庫里,那麼,我的考慮是設置兩個欄位,一個欄位保存文件內容,另一個欄位指示內容的類型(是文本還是圖片等)。
假設你並不想保存內容到資料庫里,而是將內容作為外部數據(以文件形式),當用戶上傳時保存到伺服器特定的目錄里,那麼你可以設置一個欄位,用來保存文件路徑名稱,當你調用時可以直接判斷其後綴名來確定顯示(某些程序就是這么設計的),也可以再設置一個欄位,用來保存文件類型。
⑸ php 項目中 圖片上傳
把圖片欄位寫成變數,寫入資料庫的時候做判斷.
⑹ php中關於圖片上傳的問題
上傳的圖片,在命名的時候,把學生的一些關鍵字寫入進去,比如學生的id
比如像 photo_1234.png
那麼對相應id為1234的學生
或者上傳後,把圖片路徑存到學生表中的一個欄位!
⑺ php中上傳圖片的問題
你的程序沒有存儲資料庫呀,只是把文件拷貝到了指定的文件夾下
⑻ php 圖片上傳
首先 他們是從file空間那裡取得的值。
然後判斷參數,具體如下:
$_files主要用在當需要上傳二進制文件的地方,錄入上傳一個abc.mp3文件,則伺服器端需要獲得該文件的相關信息,則通過變數$_files來取得。
$_FILES['userfile']['name']
客戶端機器文件的原名稱。
$_FILES['userfile']['type']
文件的 MIME 類型,需要瀏覽器提供該信息的支持,例如「image/gif」。
$_FILES['userfile']['size']
已上傳文件的大小,單位為位元組。
$_FILES['userfile']['tmp_name']
文件被上傳後在服務端儲存的臨時文件名。
$_FILES['userfile']['error']
和該文件上傳相關的錯誤代碼。['error'] 是在 PHP 4.2.0 版本中增加的。
注: 在 PHP 4.1.0 版本以前該數組的名稱為 $HTTP_POST_FILES,它並不像 $_FILES 一樣是自動全局變數。PHP 3 不支持 $HTTP_POST_FILES 數組。
如果表單中沒有選擇上傳的文件,則 PHP 變數 $_FILES['userfile']['size'] 的值將為 0,$_FILES['userfile']['tmp_name'] 將為 none。
⑼ PHP圖片上傳功能
<form method="post" action="" enctype="multipart/form-data">
<input type="file" name="upFile" id="upFile" />
</form>
<?
$file_name=$_FILES['upFile']['name']; //上傳文件名
$file_type=$_FILES['upFile']['type']; //上傳文件類型
$file_tame=$_FILES['upFile']['tmp_name']; //上傳文件的臨時文件名
$file_size=$_FILES['upFile']['size']; //上傳文件的大小
move_uploaded_file($_FILES["file"]["tmp_name"],"../你的存放上傳文件的路徑/"); //移動上傳文件
?>