新聞中心
php 獲取的數(shù)據(jù)格式無法使用
PHP 文件打開/讀取/讀取
專注于為中小企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)濱湖免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
PHP 文件
PHP 文件創(chuàng)建/寫入
在本節(jié)中,我們向您講解如何在服務(wù)器上打開、讀取以及關(guān)閉文件。
PHP Open File - fopen()
打開文件的更好的方法是通過 fopen() 函數(shù)。此函數(shù)為您提供比 readfile() 函數(shù)更多的選項(xiàng)。
在課程中,我們將使用文本文件 "webdictionary.txt":
AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Structured Query Language
SVG = Scalable Vector Graphics
XML = EXtensible Markup Language
fopen() 的第一個(gè)參數(shù)包含被打開的文件名,第二個(gè)參數(shù)規(guī)定打開文件的模式。如果 fopen() 函數(shù)未能打開指定的文件,下面的例子會生成一段消息:
實(shí)例
?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");echo fread($myfile,filesize("webdictionary.txt"));fclose($myfile);
?
運(yùn)行實(shí)例
提示:我們接下來將學(xué)習(xí) fread() 以及 fclose() 函數(shù)。
文件會以如下模式之一打開:
模式描述
r打開文件為只讀。文件指針在文件的開頭開始。
w打開文件為只寫。刪除文件的內(nèi)容或創(chuàng)建一個(gè)新的文件,如果它不存在。文件指針在文件的開頭開始。
a打開文件為只寫。文件中的現(xiàn)有數(shù)據(jù)會被保留。文件指針在文件結(jié)尾開始。創(chuàng)建新的文件,如果文件不存在。
x創(chuàng)建新文件為只寫。返回 FALSE 和錯(cuò)誤,如果文件已存在。
r+打開文件為讀/寫、文件指針在文件開頭開始。
w+打開文件為讀/寫。刪除文件內(nèi)容或創(chuàng)建新文件,如果它不存在。文件指針在文件開頭開始。
a+打開文件為讀/寫。文件中已有的數(shù)據(jù)會被保留。文件指針在文件結(jié)尾開始。創(chuàng)建新文件,如果它不存在。
x+創(chuàng)建新文件為讀/寫。返回 FALSE 和錯(cuò)誤,如果文件已存在。
PHP 讀取文件 - fread()
fread() 函數(shù)讀取打開的文件。
fread() 的第一個(gè)參數(shù)包含待讀取文件的文件名,第二個(gè)參數(shù)規(guī)定待讀取的最大字節(jié)數(shù)。
如下 PHP 代碼把 "webdictionary.txt" 文件讀至結(jié)尾:
fread($myfile,filesize("webdictionary.txt"));PHP 關(guān)閉文件 - fclose()
fclose() 函數(shù)用于關(guān)閉打開的文件。
注釋:用完文件后把它們?nèi)筷P(guān)閉是一個(gè)良好的編程習(xí)慣。您并不想打開的文件占用您的服務(wù)器資源。
fclose() 需要待關(guān)閉文件的名稱(或者存有文件名的變量):
?php
$myfile = fopen("webdictionary.txt", "r");// some code to be executed....
fclose($myfile);
?
PHP 讀取單行文件 - fgets()
fgets() 函數(shù)用于從文件讀取單行。
下例輸出 "webdictionary.txt" 文件的首行:
實(shí)例
?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");echo fgets($myfile);
fclose($myfile);
?
運(yùn)行實(shí)例
注釋:調(diào)用 fgets() 函數(shù)之后,文件指針會移動(dòng)到下一行。
PHP 檢查 End-Of-File - feof()
feof() 函數(shù)檢查是否已到達(dá) "end-of-file" (EOF)。
feof() 對于遍歷未知長度的數(shù)據(jù)很有用。
下例逐行讀取 "webdictionary.txt" 文件,直到 end-of-file:
實(shí)例
?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");// 輸出單行直到 end-of-file
while(!feof($myfile)) {
echo fgets($myfile) . "br";
}
fclose($myfile);
?
運(yùn)行實(shí)例
PHP 讀取單字符 - fgetc()
fgetc() 函數(shù)用于從文件中讀取單個(gè)字符。
下例逐字符讀取 "webdictionary.txt" 文件,直到 end-of-file:
實(shí)例
?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");// 輸出單字符直到 end-of-file
while(!feof($myfile)) {
echo fgetc($myfile);
}
fclose($myfile);
?
運(yùn)行實(shí)例
注釋:在調(diào)用 fgetc() 函數(shù)之后,文件指針會移動(dòng)到下一個(gè)字符。
PHP Filesystem 參考手冊
如需完整的 PHP 文件系統(tǒng)參考手冊,請?jiān)L問 W3School 提供的 PHP Filesystem 參考手冊。
thinkPHP 上傳文件的時(shí)候不支持flv 格式的怎么解決啊
①$upload-allowExts = array('jpg', 'gif', 'png', 'jpeg');// 設(shè)置附件上傳類型
這樣寫試試。
②不知道你的Thinkphp是哪個(gè)版本的。你去看下上傳文件的類里面具體怎么寫的,是UploadFile.class.php文件??聪聀rotected function error($errorNo) 這個(gè)方法,也就是提示錯(cuò)誤的函數(shù),看寫“非法數(shù)據(jù)對象”是哪里出錯(cuò)了。有可能不是因?yàn)轭愋偷脑颉?/p>
(不行再問我,QQ617762749)
php怎樣設(shè)置不允許哪些類型的文件上傳,請給出代碼?
$arrDenyExts = array("gif", "jpeg", "jpg", "png"); //不允許上傳文件的格式
$temp = explode(".", $_FILES["file"]["name"]); //按點(diǎn)分割文件名,這里根據(jù)
//$temp = explode(".","d:\test.jpg"); //按點(diǎn)分割文件名
$extension = end($temp);//獲取最后一個(gè)元素,確保是文件格式
$isAllow = true;
foreach($arrDenyExts as $key=$val) {
if($extension==$val) {
$isAllow=false;
break;
}
}
if($isAllow) {
echo "該文件格式允許上傳br/";
} else {
echo "該文件格式不允許上傳br/";
}
當(dāng)前文章:php無法提交數(shù)據(jù)格式 php無法提交數(shù)據(jù)格式化怎么辦
鏈接URL:http://www.dlmjj.cn/article/dopdjcg.html