這篇文章主要介紹php如何上傳文件,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
1、執行速度快。2、具有很好的開放性和可擴展性。3、PHP支持多種主流與非主流的數據庫。4、面向對象編程:PHP提供了類和對象。5、版本更新速度快。6、具有豐富的功能。7、可伸縮性。8、功能全面,包括圖形處理、編碼與解碼、壓縮文件處理、xml解析等。
1、上傳說明
將客戶端的文件上傳到服務器,將服務器端的臨時文件移動到指定目錄。
客戶端配置:
(1)表單頁面。
(2)表單的發送方式是post。
添加enctype="multipart/form-data";
2、實例
<html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"/> <title>上傳你的File吧</title> </head> <form enctype="multipart/form-data" method="post" action="uploadprocess.php"> <table> <tr><td colspan="2"><font style="font-size:40px;font-family: 華文彩云;">文件上傳</font></td></tr> <tr><td>請填寫用戶名:</td><td><input type="text" name="username"/></td></tr> <tr><td>請簡單介紹該文件</td><td><textarea name="fileintro" rows="10" cols="80"></textarea></td></tr> <tr><td>請選擇你要上傳文件:</td><td><input type="file" name="myfile"/></td></tr> <tr><td><input type="submit" value="上傳文件"/></td><td></td></tr> </table> </form> </html>
<?php
//1.接收提交文件的用戶
$username=$_POST['username'];
$fileintro=$_POST['fileintro'];
//我們這里需要使用到 $_FILES
/*echo "<pre>";
print_r($_FILES);
echo "</pre>";*/
//其實我們在上傳文件時,點擊上傳后,數據由http協議先發送到apache服務器那邊,這里apache服務器已經將上傳的文件存放到了服務器下的C:\windows\Temp目錄下了。這時我們只需轉存到我們需要存放的目錄即可。
//php中自身對上傳的文件大小存在限制默認為2M
//獲取文件的大小
$file_size=$_FILES['myfile']['size'];
if($file_size>2*1024*1024) {
echo "文件過大,不能上傳大于2M的文件";
exit();
}
$file_type=$_FILES['myfile']['type'];
echo $file_type;
if($file_type!="image/jpeg" && $file_type!='image/pjpeg') {
echo "文件類型只能為jpg格式";
exit();
}
//判斷是否上傳成功(是否使用post方式上傳)
if(is_uploaded_file($_FILES['myfile']['tmp_name'])) {
//把文件轉存到你希望的目錄(不要使用copy函數)
$uploaded_file=$_FILES['myfile']['tmp_name'];
//我們給每個用戶動態的創建一個文件夾
$user_path=$_SERVER['DOCUMENT_ROOT']."/studyphp/file/up/".$username;
//判斷該用戶文件夾是否已經有這個文件夾
if(!file_exists($user_path)) {
mkdir($user_path);
}
//$move_to_file=$user_path."/".$_FILES['myfile']['name'];
$file_true_name=$_FILES['myfile']['name'];
$move_to_file=$user_path."/".time().rand(1,1000).substr($file_true_name,strrpos($file_true_name,"."));
//echo "$uploaded_file $move_to_file";
if(move_uploaded_file($uploaded_file,iconv("utf-8","gb2312",$move_to_file))) {
echo $_FILES['myfile']['name']."上傳成功";
} else {
echo "上傳失敗";
}
} else {
echo "上傳失敗";
}
?>以上是“php如何上傳文件”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。