php簡(jiǎn)化版的圖片上傳超詳細(xì)教程

2023-11-05    分類(lèi): 網(wǎng)站建設(shè)

<form action="" enctype="multipart/form-data" method="post" >
請(qǐng)選擇需要上傳的文件:<input type="file" name="upfile" /><br>
<input type="submit" value="上傳" />
</form>

首先我們需要在form表單中加入 enctype=”multipart/form-data”表示聲明表單中會(huì)有圖片發(fā)送, action=”” 表示當(dāng)前頁(yè)面提交,method=”post”傳輸方式為post

<?php
if(is_uploaded_file($_FILES['upfile']['tmp_name'])){
$upfile=$_FILES["upfile"];
$name=$upfile['name'];
$tmp_name=$upfile["tmp_name"];//上傳文件的臨時(shí)存放路徑
move_uploaded_file($tmp_name,'up/'.$name);
echo "上傳成功";
}
else{
   echo "您還沒(méi)有上傳文件";
}
?>

關(guān)鍵詞總結(jié)

is_uploaded_file 表示驗(yàn)證文件是否是通過(guò) HTTp pOST 上傳的,條件成立才可以正常上傳

$_FILES[‘upfile’][‘tmp_name’])

表示獲取到當(dāng)前傳輸圖片的本地位置

move_uploaded_file($tmp_name,’up/’.$name);

該方法有兩個(gè)參數(shù),第一個(gè)為上傳的文件的文件名,第二個(gè)為移動(dòng)文件到這個(gè)位置

2. 文件的寫(xiě)入與讀取

首先介紹寫(xiě)入:

$myfile = fopen("comment/" .time().'-'. rand(0, 1000) . ".comment", "a") or die("Unable to open file!");
  $txt = time().'<br />';
  fwrite($myfile, $txt);
  fclose($myfile);

其中fopen函數(shù)的作用為寫(xiě)入數(shù)據(jù),第一個(gè)參數(shù)為寫(xiě)入文件具體路徑,第二個(gè)表示將讀取到得數(shù)據(jù)放入該文件中,其中文件名采用時(shí)間戳加上隨機(jī)數(shù)構(gòu)成,后綴名為comment,a表示寫(xiě)入方式打開(kāi),將文件指針指向文件末尾。

如果文件不存在則嘗試創(chuàng)建它,or die表示執(zhí)行失敗,就執(zhí)行Unable to open file!(無(wú)法打開(kāi)文件)。

第二句表示數(shù)據(jù),數(shù)據(jù)可以是post傳輸?shù)?,也可以是get,隨意;

第三句fwrite表示寫(xiě)入文件,第一個(gè)參數(shù)為寫(xiě)入文件的位置,第二個(gè)為要寫(xiě)入的數(shù)據(jù)

第四句表示關(guān)閉該文件,表示寫(xiě)入完畢,本次執(zhí)行完畢

$list = glob("comment/*.comment");
rsort($list);
for ($i = 0; count($list) > $i; $i++) {
   $file_path = $list[$i];
   if (file_exists($file_path)) {
       $fp = fopen($file_path, "r");
       $str = fread($fp, filesize($file_path));//指定讀取大小,這里把整個(gè)文件內(nèi)容讀取出來(lái)
       echo $str = str_replace("\r\n", "<br />", $str);
   }
}

在介紹讀?。?/p>

關(guān)鍵語(yǔ)句為

第一句:

首先使用(glob)先找到需要讀取的文件,如果有很多符合條件的文件,那么他們將會(huì)使用數(shù)組進(jìn)行保存,讀取的時(shí)候使用遍歷數(shù)組就可以了

第二句:

rsort為降序排序,主要是為了滿(mǎn)足特定條件下的排序,例如按照發(fā)布時(shí)間

第三句:

因?yàn)榭梢酝ㄟ^(guò)var_dump,print等知道glob是以數(shù)組的形式保存路徑的,所以我們使用count算出總數(shù),然后一條條遍歷,便可以得到需要讀取的文件路徑

第四句:

$file_path獲取文件路徑

第五句:

file_exists判斷文件是否存在

第六句:

fopen讀取該文件,并且以只讀的方式打開(kāi)

第七句:

fread第一個(gè)參數(shù)表示讀取的東西,第二個(gè)表示讀取的文件的大小,這里也就表示有多少讀多少

第八句:

str_replace替換函數(shù),表示將$str中的所有的\r\n都替換成br(表示換行,換成網(wǎng)頁(yè)中的換行)

網(wǎng)站題目:php簡(jiǎn)化版的圖片上傳超詳細(xì)教程
網(wǎng)頁(yè)路徑:http://www.muchs.cn/news27/292627.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航網(wǎng)站收錄、微信小程序、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)