最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

新手應(yīng)該知道的php多圖片上傳的實(shí)現(xiàn)

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-02 22:07:09
文檔

新手應(yīng)該知道的php多圖片上傳的實(shí)現(xiàn)

新手應(yīng)該知道的php多圖片上傳的實(shí)現(xiàn):新手應(yīng)該知道的php多圖片上傳的實(shí)現(xiàn)今天在工作中遇到了一個需求:一個表單實(shí)現(xiàn)多個上傳圖片,類似于QQ空間上傳照片的模式。即:可以一次性上傳多個圖片,但是封面圖片只有一個。最先,最重要的事,在服務(wù)器上對文件進(jìn)行讀寫操作的時候,一定要看權(quán)限,如果沒
推薦度:
導(dǎo)讀新手應(yīng)該知道的php多圖片上傳的實(shí)現(xiàn):新手應(yīng)該知道的php多圖片上傳的實(shí)現(xiàn)今天在工作中遇到了一個需求:一個表單實(shí)現(xiàn)多個上傳圖片,類似于QQ空間上傳照片的模式。即:可以一次性上傳多個圖片,但是封面圖片只有一個。最先,最重要的事,在服務(wù)器上對文件進(jìn)行讀寫操作的時候,一定要看權(quán)限,如果沒

新手應(yīng)該知道的php多圖片上傳的實(shí)現(xiàn)

今天在工作中遇到了一個需求:一個表單實(shí)現(xiàn)多個上傳圖片,類似于QQ空間上傳照片的模式。即:可以一次性上傳多個圖片,但是封面圖片只有一個。

最先,最重要的事,在服務(wù)器上對文件進(jìn)行讀寫操作的時候,一定要看權(quán)限,如果沒有權(quán)限,全是蝦扯蛋,為什么這樣說,因?yàn)槿菧I。

首先,前端頁面:index.html

<html>
<head><title>多個文件上傳表單</title></head>
<body>
<style>
 form{
 margin: 20px;
 padding: 10px;
 }
 #picInput>input{
 display: block;
 margin: 10px;
 }
</style>
<form action="pic.php" method="post" enctype="multipart/form-data">
 <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
 <div id="picInput">
 上傳圖片:<input type="file" name='myfile[]'>
 </div>
 <input id="addBtn" type="button" οnclick="addPic1()" value="繼續(xù)添加圖片"><br/><br/>
 <input type="submit" value="上傳文件">
</form>
<script>
 function addPic1(){
 var addBtn = document.getElementById('addBtn');
 var input = document.createElement("input");
 input.type = 'file';
 input.name = 'myfile[]';
 var picInut = document.getElementById('picInput');
 picInut.appendChild(input);
 if(picInut.children.length == 3){
 addBtn.disabled = 'disabled';
 }
 }
</script>
</body>
</html>

知識點(diǎn):

1.通過JS動態(tài)添加input結(jié)點(diǎn)和設(shè)置屬性,當(dāng)大于3個上傳圖片的時候就不再給予上傳圖片的機(jī)會了。

2.這里最主要的是input輸入框的name值,通過動態(tài)的添加數(shù)組元素,將所有上傳的圖片動態(tài)添加到數(shù)組當(dāng)中。

后端處理功能

Connection.php

1.讀取和存儲都需要用到連接數(shù)據(jù)庫,所以可以把它封住一下,養(yǎng)成良好的習(xí)慣

<?php
//創(chuàng)建對象并打開連接,最后一個參數(shù)是選擇的數(shù)據(jù)庫名稱
$mysqli = new mysqli('localhost','root','','test');
//檢查連接是否成功
if (mysqli_connect_errno()){
 //注意mysqli_connect_error()新特性
 die('Unable to connect!'). mysqli_connect_error();
}

pic.php處理功能

<?php
require_once 'connection.php';
$file = $_FILES['myfile']; //得到傳輸?shù)臄?shù)據(jù),以數(shù)組的形式
$name = $file['name']; //得到文件名稱,以數(shù)組的形式
$upload_path = "zhouqi666.cn/test/images/"; //上傳文件的存放路徑
//當(dāng)前位置
foreach ($name as $k=>$names){
 $type = strtolower(substr($names,strrpos($names,'.')+1));//得到文件類型,并且都轉(zhuǎn)化成小寫
 $allow_type = array('jpg','jpeg','gif','png'); //定義允許上傳的類型
 //把非法格式的圖片去除
 if (!in_array($type,$allow_type)){
 unset($name[$k]);
 }
}
$str = '';
foreach ($name as $k=>$item){
 $type = strtolower(substr($item,strrpos($item,'.')+1));//得到文件類型,并且都轉(zhuǎn)化成小寫
 if (move_uploaded_file($file['tmp_name'][$k],$upload_path.time().$name[$k])){
 //$str .= ','.$upload_path.time().$name[$k];
 echo 'success';
 }else{
 echo 'failed';
 }
}
//向指定id插入圖片地址(雖然是插入,但是是更新字段,不要迷糊了)
$uid = 1;
$str = substr($str,1);
$sql = "UPDATE upload set pic = '".$str."' WHERE id = ".$uid;
$result = $mysqli->query($sql);

這里我有很多的判斷沒有寫,主要是實(shí)現(xiàn)一下功能,比如文件夾要先建立好,你也可以自己判斷,不存在就創(chuàng)建一個文件夾,還有一些其他判斷等等。

最關(guān)鍵的地方是,當(dāng)你不熟悉的時候,要走一步調(diào)試一步,看得到的結(jié)果是什么。

圖片現(xiàn)實(shí)功能

<?php
require_once 'connection.php';
$uid = 1;
$sql = "SELECT pic FROM upload WHERE id =".$uid;
$result = $mysqli->query($sql);
//取出第一個圖片的地址
$picpath = '';
while ($row = $result->fetch_array()){
 $picpath = $row[0];
}
$picpath = explode(',',$picpath)[0];
echo "<img src='".$picpath."'>";
?>

感謝大家的閱讀,希望大家收益多多。

本文轉(zhuǎn)自:https://blog.csdn.net/zmzwll1314/article/details/72673138

推薦教程:《php教程》

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

新手應(yīng)該知道的php多圖片上傳的實(shí)現(xiàn)

新手應(yīng)該知道的php多圖片上傳的實(shí)現(xiàn):新手應(yīng)該知道的php多圖片上傳的實(shí)現(xiàn)今天在工作中遇到了一個需求:一個表單實(shí)現(xiàn)多個上傳圖片,類似于QQ空間上傳照片的模式。即:可以一次性上傳多個圖片,但是封面圖片只有一個。最先,最重要的事,在服務(wù)器上對文件進(jìn)行讀寫操作的時候,一定要看權(quán)限,如果沒
推薦度:
標(biāo)簽: 圖片 上傳 知道
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top