久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔
站長(zhǎng)百科 | 數(shù)字化技能提升教程 數(shù)字化時(shí)代生存寶典
首頁(yè)
數(shù)字化百科
電子書
建站程序
開(kāi)發(fā)
服務(wù)器
辦公軟件
開(kāi)發(fā)教程
服務(wù)器教程
軟件使用教程
運(yùn)營(yíng)教程
熱門電子書
WordPress教程
寶塔面板教程
CSS教程
Shopify教程
導(dǎo)航
程序頻道
推廣頻道
網(wǎng)賺頻道
人物頻道
網(wǎng)站程序
網(wǎng)頁(yè)制作
云計(jì)算
服務(wù)器
CMS
論壇
網(wǎng)店
虛擬主機(jī)
cPanel
網(wǎng)址導(dǎo)航
WIKI使用導(dǎo)航
WIKI首頁(yè)
最新資訊
網(wǎng)站程序
站長(zhǎng)人物
頁(yè)面分類
使用幫助
編輯測(cè)試
創(chuàng)建條目
網(wǎng)站地圖
站長(zhǎng)百科導(dǎo)航
站長(zhǎng)百科
主機(jī)偵探
IDCtalk云說(shuō)
跨境電商導(dǎo)航
WordPress啦
站長(zhǎng)專題
網(wǎng)站推廣
網(wǎng)站程序
網(wǎng)站賺錢
虛擬主機(jī)
cPanel
網(wǎng)址導(dǎo)航專題
云計(jì)算
微博營(yíng)銷
虛擬主機(jī)管理系統(tǒng)
開(kāi)放平臺(tái)
WIKI程序與應(yīng)用
美國(guó)十大主機(jī)
編輯“
十天學(xué)會(huì)PHP/第七天:文件上傳、Cookies
”
人物百科
|
營(yíng)銷百科
|
網(wǎng)賺百科
|
站長(zhǎng)工具
|
網(wǎng)站程序
|
域名主機(jī)
|
互聯(lián)網(wǎng)公司
|
分類索引
跳轉(zhuǎn)至:
導(dǎo)航
、?
搜索
警告:
您沒(méi)有登錄。如果您做出任意編輯,您的IP地址將會(huì)公開(kāi)可見(jiàn)。如果您
登錄
或
創(chuàng)建
一個(gè)賬戶,您的編輯將歸屬于您的用戶名,且將享受其他好處。
反垃圾檢查。
不要
加入這個(gè)!
{{PHPtop}} ==打開(kāi)文件fopen()== *fopen()函數(shù)用于在 PHP 中打開(kāi)文件。 *此函數(shù)的第一個(gè)參數(shù)含有要打開(kāi)的文件的名稱,第二個(gè)參數(shù)規(guī)定了使用哪種模式來(lái)打開(kāi)文件: <pre> <html> <body> <?php $file=fopen("welcome.txt","r"); ?> </body> </html> </pre> 文件可能通過(guò)下列模式來(lái)打開(kāi): *r 只讀。在文件的開(kāi)頭開(kāi)始。 *r+ 讀/寫。在文件的開(kāi)頭開(kāi)始。 *w 只寫。打開(kāi)并清空文件的內(nèi)容;如果文件不存在,則創(chuàng)建新文件。 *w+ 讀/寫。打開(kāi)并清空文件的內(nèi)容;如果文件不存在,則創(chuàng)建新文件。 *a 追加。打開(kāi)并向文件文件的末端進(jìn)行寫操作,如果文件不存在,則創(chuàng)建新文件。 *a+ 讀/追加。通過(guò)向文件末端寫內(nèi)容,來(lái)保持文件內(nèi)容。 *x 只寫。創(chuàng)建新文件。如果文件已存在,則返回 FALSE。 *x+ 讀/寫。創(chuàng)建新文件。如果文件已存在,則返回 FALSE 和一個(gè)錯(cuò)誤。 *注釋:如果 fopen() 無(wú)法打開(kāi)指定文件,則返回 0(false)。 *'''例子''' *如果 fopen() 不能打開(kāi)指定的文件,下面的例子會(huì)生成一段消息: <pre> <html> <body> <?php $file=fopen("welcome.txt","r") or exit("Unable to open file!"); ?> </body> </html> </pre>關(guān)閉文件 *fclose() 函數(shù)用于關(guān)閉打開(kāi)的文件。 </pre> <?php $file = fopen("test.txt","r"); //some code to be executed fclose($file); ?> </pre> *'''檢測(cè) End-of-file''' *feof() 函數(shù)檢測(cè)是否已達(dá)到文件的末端 (EOF)。 *在循環(huán)遍歷未知長(zhǎng)度的數(shù)據(jù)時(shí),feof() 函數(shù)很有用。 *注釋:在 w 、a 以及 x 模式,您無(wú)法讀取打開(kāi)的文件! <pre>if (feof($file)) echo "End of file";</pre> *'''逐行讀取文件''' f*gets() 函數(shù)用于從文件中逐行讀取文件。 *注釋:在調(diào)用該函數(shù)之后,文件指針會(huì)移動(dòng)到下一行。 *'''例子''' *下面的例子逐行讀取文件,直到文件末端為止: <pre> <?php $file = fopen("welcome.txt", "r") or exit("Unable to open file!"); //Output a line of the file until the end is reached while(!feof($file)) { echo fgets($file). "<br />"; } fclose($file); ?> </pre> *'''逐字符讀取文件''' *fgetc() 函數(shù)用于從文件逐字符地讀取文件。 *注釋:在調(diào)用該函數(shù)之后,文件指針會(huì)移動(dòng)到下一個(gè)字符。 *'''例子''' *下面的例子逐字符地讀取文件,直到文件末端為止: <pre> <?php $file=fopen("welcome.txt","r") or exit("Unable to open file!"); while (!feof($file)) { echo fgetc($file); } fclose($file); ?> </pre> ==創(chuàng)建一個(gè)文件上傳表單== *允許用戶從表單上傳文件是非常有用的。 *請(qǐng)看下面這個(gè)供上傳文件的 [[HTML]] 表單: <pre> <html> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label> <input type="file" name="file" id="file" /> <br /> <input type="submit" name="submit" value="Submit" /> </form> </body> </html> </pre> *請(qǐng)留意如下有關(guān)此表單的信息: *<form> 標(biāo)簽的 enctype 屬性規(guī)定了在提交表單時(shí)要使用哪種內(nèi)容類型。在表單需要二進(jìn)制數(shù)據(jù)時(shí),比如文件內(nèi)容,請(qǐng)使用 "multipart/form-data"。 *<input> 標(biāo)簽的 type="file" 屬性規(guī)定了應(yīng)該把輸入作為文件來(lái)處理。舉例來(lái)說(shuō),當(dāng)在瀏覽器中預(yù)覽時(shí),會(huì)看到輸入框旁邊有一個(gè)瀏覽按鈕。 *注釋:允許用戶上傳文件是一個(gè)巨大的安全風(fēng)險(xiǎn)。請(qǐng)僅僅允許可信的用戶執(zhí)行文件上傳操作。 ===創(chuàng)建上傳腳本=== *"upload_file.php" 文件含有供上傳文件的代碼: <pre> <?php if ($_FILES["file"]["error"] > 0) { echo "Error: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Stored in: " . $_FILES["file"]["tmp_name"]; } ?></pre> *通過(guò)使用 PHP 的全局?jǐn)?shù)組 $_FILES,你可以從客戶計(jì)算機(jī)向遠(yuǎn)程服務(wù)器上傳文件。 *第一個(gè)參數(shù)是表單的 input name,第二個(gè)下標(biāo)可以是 "name", "type", "size", "tmp_name" 或 "error"。就像這樣: <pre> $_FILES["file"]["name"] - 被上傳文件的名稱 $_FILES["file"]["type"] - 被上傳文件的類型 $_FILES["file"]["size"] - 被上傳文件的大小,以字節(jié)計(jì) $_FILES["file"]["tmp_name"] - 存儲(chǔ)在服務(wù)器的文件的臨時(shí)副本的名稱 $_FILES["file"]["error"] - 由文件上傳導(dǎo)致的錯(cuò)誤代碼 </pre> *這是一種非常簡(jiǎn)單文件上傳方式?;诎踩矫娴目紤],您應(yīng)當(dāng)增加有關(guān)什么用戶有權(quán)上傳文件的限制。 ===上傳限制=== *在這個(gè)腳本中,我們?cè)黾恿藢?duì)文件上傳的限制。用戶只能上傳 .gif 或 .jpeg 文件,文件大小必須小于 20 kb: <pre> <?php if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 20000)) { if ($_FILES["file"]["error"] > 0) { echo "Error: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Stored in: " . $_FILES["file"]["tmp_name"]; } } else { echo "Invalid file"; } ?> </pre> *注釋:對(duì)于 [[IE]],識(shí)別 jpg 文件的類型必須是 pjpeg,對(duì)于[[FireFox]],必須是 jpeg。 ===保存被上傳的文件=== *上面的例子在[[服務(wù)器]]的 PHP 臨時(shí)文件夾創(chuàng)建了一個(gè)被上傳文件的臨時(shí)副本。 *這個(gè)臨時(shí)的復(fù)制文件會(huì)在腳本結(jié)束時(shí)消失。要保存被上傳的文件,我們需要把它拷貝到另外的位置: <pre> <?php if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 20000)) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; } } } else { echo "Invalid file"; } ?> </pre> ==什么是 Cookie?== *cookie 常用于識(shí)別用戶。cookie 是服務(wù)器留在用戶計(jì)算機(jī)中的小文件。每當(dāng)相同的計(jì)算機(jī)通過(guò)瀏覽器請(qǐng)求頁(yè)面時(shí),它同時(shí)會(huì)發(fā)送 cookie。通過(guò) PHP,您能夠創(chuàng)建并取回 cookie 的值。 *如何創(chuàng)建 cookie? *setcookie() 函數(shù)用于設(shè)置 cookie。 *注釋:setcookie() 函數(shù)必須位于 <html> 標(biāo)簽之前。 *'''語(yǔ)法''' <pre>setcookie(name, value, expire, path, domain);</pre> *'''例子''' *在下面的例子中,我們將創(chuàng)建名為 "user" 的 cookie,把為它賦值 "Alex Porter"。我們也規(guī)定了此 cookie 在一小時(shí)后過(guò)期: <pre> <?php setcookie("user", "Alex Porter", time()+3600); ?> <html> <body> </body> </html> </pre> *注釋:在發(fā)送 cookie 時(shí),cookie 的值會(huì)自動(dòng)進(jìn)行 URL 編碼,在取回時(shí)進(jìn)行自動(dòng)解碼(為防止 URL 編碼,請(qǐng)使用 setrawcookie() 取而代之)。 ===如何取回 Cookie 的值?=== *PHP 的 $_COOKIE 變量用于取回 cookie 的值。 *在下面的例子中,我們?nèi)』亓嗣麨?"user" 的 cookie 的值,并把它顯示在了頁(yè)面上: <pre> <?php // Print a cookie echo $_COOKIE["user"]; // A way to view all cookies print_r($_COOKIE); ?></pre> *在下面的例子中,我們使用 isset() 函數(shù)來(lái)確認(rèn)是否已設(shè)置了 cookie: <pre> <html> <body> <?php if (isset($_COOKIE["user"])) echo "Welcome " . $_COOKIE["user"] . "!<br />"; else echo "Welcome guest!<br />"; ?> </body> </html> </pre> ===如何刪除 cookie?=== *當(dāng)刪除 cookie 時(shí),您應(yīng)當(dāng)使過(guò)期日期變更為過(guò)去的時(shí)間點(diǎn)。 *刪除的例子: <pre> <?php // set the expiration date to one hour ago setcookie("user", "", time()-3600); ?> <pre> ===如果瀏覽器不支持 cookie 該怎么辦?=== *如果您的應(yīng)用[[程序]]涉及不支持 cookie 的[[瀏覽器]],您就不得不采取其他方法在應(yīng)用程序中從一張頁(yè)面向另一張頁(yè)面?zhèn)鬟f信息。一種方式是從表單傳遞數(shù)據(jù)(有關(guān)表單和用戶輸入的內(nèi)容,稍早前我們已經(jīng)在本教程中介紹過(guò)了)。 *下面的表單在用戶單擊提交按鈕時(shí)向 "welcome.php" 提交了用戶輸入: <pre> <html> <body> <form action="welcome.php" method="post"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html>取回 "welcome.php" 中的值,就像這樣: <html> <body> Welcome <?php echo $_POST["name"]; ?>.<br /> You are <?php echo $_POST["age"]; ?> years old. </body> </html> </pre> ==參考來(lái)源== *http://www.w3school.com.cn/php/php_cookies.asp [[category:PHP|P]] {{PHPup}}
摘要:
請(qǐng)注意,您對(duì)站長(zhǎng)百科的所有貢獻(xiàn)都可能被其他貢獻(xiàn)者編輯,修改或刪除。如果您不希望您的文字被任意修改和再散布,請(qǐng)不要提交。
您同時(shí)也要向我們保證您所提交的內(nèi)容是您自己所作,或得自一個(gè)不受版權(quán)保護(hù)或相似自由的來(lái)源(參閱
Wordpress-mediawiki:版權(quán)
的細(xì)節(jié))。
未經(jīng)許可,請(qǐng)勿提交受版權(quán)保護(hù)的作品!
取消
編輯幫助
(在新窗口中打開(kāi))
本頁(yè)使用的模板:
模板:PHPtop
(
編輯
)
模板:PHPup
(
編輯
)
取自“
http://www.kktzf.com.cn/wiki/十天學(xué)會(huì)PHP/第七天:文件上傳、Cookies
”