2023-11-05 分類: 網站建設
<form action="" enctype="multipart/form-data" method="post" >
請選擇需要上傳的文件:<input type="file" name="upfile" /><br>
<input type="submit" value="上傳" />
</form>
首先我們需要在form表單中加入 enctype=”multipart/form-data”表示聲明表單中會有圖片發送, action=”” 表示當前頁面提交,method=”post”傳輸方式為post
<?php
if(is_uploaded_file($_FILES['upfile']['tmp_name'])){
$upfile=$_FILES["upfile"];
$name=$upfile['name'];
$tmp_name=$upfile["tmp_name"];//上傳文件的臨時存放路徑
move_uploaded_file($tmp_name,'up/'.$name);
echo "上傳成功";
}
else{
echo "您還沒有上傳文件";
}
?>
關鍵詞總結
is_uploaded_file 表示驗證文件是否是通過 HTTp pOST 上傳的,條件成立才可以正常上傳
$_FILES[‘upfile’][‘tmp_name’])
表示獲取到當前傳輸圖片的本地位置
move_uploaded_file($tmp_name,’up/’.$name);
該方法有兩個參數,第一個為上傳的文件的文件名,第二個為移動文件到這個位置
2. 文件的寫入與讀取
首先介紹寫入:
$myfile = fopen("comment/" .time().'-'. rand(0, 1000) . ".comment", "a") or die("Unable to open file!");
$txt = time().'<br />';
fwrite($myfile, $txt);
fclose($myfile);
其中fopen函數的作用為寫入數據,第一個參數為寫入文件具體路徑,第二個表示將讀取到得數據放入該文件中,其中文件名采用時間戳加上隨機數構成,后綴名為comment,a表示寫入方式打開,將文件指針指向文件末尾。
如果文件不存在則嘗試創建它,or die表示執行失敗,就執行Unable to open file!(無法打開文件)。
第二句表示數據,數據可以是post傳輸的,也可以是get,隨意;
第三句fwrite表示寫入文件,第一個參數為寫入文件的位置,第二個為要寫入的數據
第四句表示關閉該文件,表示寫入完畢,本次執行完畢
$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));//指定讀取大小,這里把整個文件內容讀取出來
echo $str = str_replace("\r\n", "<br />", $str);
}
}
在介紹讀取:
關鍵語句為
第一句:
首先使用(glob)先找到需要讀取的文件,如果有很多符合條件的文件,那么他們將會使用數組進行保存,讀取的時候使用遍歷數組就可以了
第二句:
rsort為降序排序,主要是為了滿足特定條件下的排序,例如按照發布時間
第三句:
因為可以通過var_dump,print等知道glob是以數組的形式保存路徑的,所以我們使用count算出總數,然后一條條遍歷,便可以得到需要讀取的文件路徑
第四句:
$file_path獲取文件路徑
第五句:
file_exists判斷文件是否存在
第六句:
fopen讀取該文件,并且以只讀的方式打開
第七句:
fread第一個參數表示讀取的東西,第二個表示讀取的文件的大小,這里也就表示有多少讀多少
第八句:
str_replace替換函數,表示將$str中的所有的\r\n都替換成br(表示換行,換成網頁中的換行)
網站題目:php簡化版的圖片上傳超詳細教程
網頁路徑:http://m.newbst.com/news27/292627.html
成都網站建設公司_創新互聯,為您提供外貿網站建設、移動網站建設、網站導航、網站收錄、微信小程序、Google
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容