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(表示換行,換成網頁中的換行)