php上传同一张图片,两种php实现图片上传的方法_PHP
圖片上傳在項目中經常用到,幾乎沒有任何一個項目可以脫離圖片或者是文件上傳。本篇我在這向大家介紹兩種常規的上傳方式。(注:在這里我們僅僅是對功能的實現,不去做過多的前端的樣式)
一、利用form表單上傳
此種方式是最原始的上傳方式,前端就是簡單的form表單,后端我們有PHP處理傳輸過來的文件。
首先看前端的代碼 upload.html
然后新建php文件 handle.php 代碼如下
$file = $_FILES['file'];//得到傳輸的數據
//得到文件名稱
$name = $file['name'];
$type = strtolower(substr($name,strrpos($name,'.')+1)); //得到文件類型,并且都轉化成小寫
$allow_type = array('jpg','jpeg','gif','png'); //定義允許上傳的類型
//判斷文件類型是否被允許上傳
if(!in_array($type, $allow_type)){
//如果不被允許,則直接停止程序運行
return ;
}
//判斷是否是通過HTTP POST上傳的
if(!is_uploaded_file($file['tmp_name'])){
//如果不是通過HTTP POST上傳的
return ;
}
$upload_path = "D:/now/"; //上傳文件的存放路徑
//開始移動文件到相應的文件夾
if(move_uploaded_file($file['tmp_name'],$upload_path.$file['name'])){
echo "Successfully!";
}else{
echo "Failed!";
}
當然,此php處理代碼不是很完善,其中對錯誤的情況沒有進行處理,然而使用php處理上傳文件的原理就是這樣的,大家可以在此基礎上進行優化,使其更加完善。
二、利用uploadify實現無刷新并且帶進度條的上傳首先下載uploadify插件,保存在項目中的某個文件夾下面,然后引入三個文件
然后引用以下代碼
樣式如下
當然此按鈕的樣式我改動過,大家可以根據自己的需要修改樣式文件,改變此按鈕的樣式
同樣的php代碼 handle.php
$file = $_FILES['Filedata'];//得到傳輸的數據
//得到文件名稱
$name = $file['name'];
$type = strtolower(substr($name,strrpos($name,'.')+1)); //得到文件類型,并且都轉化成小寫
$allow_type = array('jpg','jpeg','gif','png'); //定義允許上傳的類型
//判斷文件類型是否被允許上傳
if(!in_array($type, $allow_type)){
//如果不被允許,則直接停止程序運行
return ;
}
//判斷是否是通過HTTP POST上傳的
if(!is_uploaded_file($file['tmp_name'])){
//如果不是通過HTTP POST上傳的
return ;
}
$upload_path = "D:/now/"; //上傳文件的存放路徑
//開始移動文件到相應的文件夾
if(move_uploaded_file($file['tmp_name'],$upload_path.$file['name'])){
echo "Successfully!";
}else{
echo "Failed!";
}
以上兩種方式上傳可以說PHP處理的原理是相同的,只是前臺顯示的樣式不同,第二種方式是無刷新,并且帶有返回值,可以方便我們做其它的處理。雖然常用,但是總歸會受限制,使用起來不是很靈活。
隨著html5的發展的越來越成熟,我們可以利用h5中的一些方法實現上傳功能,此時后臺PHP的處理代碼完全不同于以上兩種方式,并且使用起來很靈活。由于篇幅限制,本篇我不向大家介紹這種方式,有興趣的可以參考php+html5實現無刷新圖片上傳教程,希望大家會喜歡。
本文原創發布php中文網,轉載請注明出處,感謝您的尊重!
總結
以上是生活随笔為你收集整理的php上传同一张图片,两种php实现图片上传的方法_PHP的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux如何标识用户账号和组账号,li
- 下一篇: linux命令行 基础,Linux命令行