1.php簡化版的圖片上傳(沒有各種驗證)
|
1 2 3 4 |
<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
|
1 2 3 4 5 6 7 8 9 10 11 12 |
<?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. 檔案的寫入與讀取
首先介紹寫入:
|
1 2 3 4 |
$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表示寫入檔案,第一個引數為寫入檔案的位置,第二個為要寫入的資料
第四句表示關閉該檔案,表示寫入完畢,本次執行完畢
|
1 2 3 4 5 6 7 8 9 10 |
$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(表示換行,換成網頁中的換行)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/110758.html
標籤:PHP
上一篇:laravels 使用laravel-wechat 組件
下一篇:PHP讀取Excel內的圖片
