當前位置:首頁 » 編程語言 » phpfgets

phpfgets

發布時間: 2022-06-26 16:25:58

1. php中fgetc,fgets,fgetss三者的區別

一、功能區別
fgetc — 從文件指針中讀取字元
fgets — 從文件指針中讀取一行
fgetss — 從文件指針中讀取一行並過濾掉 HTML 標記
二、原型區別
string fgetc(resource $handle)
string fgets(resource $handle[, int $length])
string fgetss(resource $handle[, int $length[, string $allowable_tags]])
三、返回值區別
fgetc:返回一個包含有一個字元的字元串,該字元從 handle 指向的文件中得到。碰到 EOF 則返回 FALSE。

fgets:從指針 handle 指向的文件中讀取了 length - 1 位元組後返回字元串。如果文件指針中沒有更多的數據了則返回 FALSE。錯誤發生時返回 FALSE。

fgetss:從 handle 指向的文件中大讀取 length - 1 個位元組的字元,並過濾了所有的 HTML 和 PHP 代碼。錯誤發生時返回 FALSE。

2. php fgets問題

看我調試成功的代碼:
<?php
//$fp = stream_socket_client($socketUrl, $errno, $errstr, 30);
$retMsg="";
//if (!$fp) {
// echo "$errstr ($errno)<br />\n";
//} else {
$in = "<?xml version='1.0' encoding='UTF-8'?>";
$in .= "<Message>";
$in .= "<TranCode>888</TranCode>";
$in .= "<MsgContent>666</MsgContent>";
$in .= "</Message>";

$fp= fopen("1.xml","w");
fwrite($fp, $in,1024);
fclose($fp);

$fp= fopen("1.xml","r");
while (!feof($fp)) {
$retMsg =$retMsg.fgets($fp, 1024) or exit("Can't fgets");
}
echo $retMsg;
fclose($fp);
//}

?>

3. 請問PHP中怎麼用fgets()讀取整個文件和在readfile()中怎麼實現換行啊,著急

fgets一次只讀一行,要用它讀取整個文件需要使用循環,例如下面這樣:

<?php
$fp=fopen('a.html','r');
while(!feof($fp)){
$str=fgets($fp);
echo $str;
}
fclose($fp);
?>

readfile讀取的文件是有換行的,但是直接輸出到瀏覽器時候,瀏覽器會忽略裡面多餘的空格和換行,可以下面這樣:

<?php
echo '<pre>';
readfile('a.html');
echo '</pre>';
?>

4. php5.0 使用 fgets()函數是讀取中文文件,顯示亂碼,求解謝謝

你必須知道你的中文文本文件使用的編碼方式,默認的可能是windows-1252(ANSI),亂碼的原因就是文本文件的編碼和你的瀏覽器頁面charset指定的編碼不一致造成的,可以在輸出之前對內容執行 $content = iconv('文本文件的編碼格式,如windows-1252', '瀏覽器charset,如utf-8', $content)就行了

5. php中fgets()與fread()有什麼區別

fgets 從可訪問的文件流里讀取一行。以換行符結束。或者讀夠指定的字數。或者碰到文件結尾。。看先碰到哪一種情況。

fread 從可訪問的文件流里讀取一定的字數。默認為 1024 位元組。或者碰到文件結尾。看先碰到哪一種情況。。

兩者主要區別在於。 fgets 碰到換行符的時候。也會停止讀取。而 fread 不會。相同的部份就是。文件讀完。或者讀夠指定的位元組數。都會停止。

換行符局限於 \r\a 或 \a 二進制為 0x0D0A 或 0x0A ,也就是你在編寫文件時輸入的回車。HTML 的 <br> 不算是換行,算是4個字元而已。

6. 怎麼實現PHP的fgets();篩選輸出,符合條件輸出

下面的代碼演示如何輸出帶有[world]的內容:
<?php
$fp=fopen('abc.log,'r');
while($s=fgets($fp)){
if (strpos($s,'[world]')!==false) echo $s;
}
fclose($fp);
?>

7. PHP中fgets()與fgetss()有什麼區別 下圖是分別使用fgets和fgetss讀取的

fgetss
與 fgets() 相同,不同的是 fgetss 嘗試從讀取的文本中去掉任何 HTML 和 PHP 標記。

8. 如何運用PHP函數fgets讀取指針文件

PHP函數fgets就是其中一個功能強大的函數。 PHP函數fgets -- 從文件指針中讀取一行說明 string fgets ( int handle [, int length] ) 從 handle 指向的文件中讀取一行並返回長度最多為 length - 1 位元組的字元串。碰到換行符(包括在返回值中)、EOF 或者已經讀取了 length - 1 位元組後停止(看先碰到那一種情況)。如果沒有指定 length,則默認為 1K,或者說 1024 位元組。 出錯時返回 FALSE。 PHP函數fgets通常的缺陷: 文件指針必須是有效的,並且必須指向一個由 fopen() 或 fsockopen() 成功打開的文件。 以下是一個PHP函數fgets簡單例子: 例子 1. 逐行讀取文件<?php$handle=fopen(/tmp/inputfile.txt,r); while(!feof($handle)){$buffer=fgets($fd,4096); 注: length 參數從 PHP 4.2.0 起成為可選項,如果忽略,則行的長度被假定為 1024。從 PHP 4.3 開始源碼天空 ,忽略掉 length 將繼續從流中讀取數據直到行結束。如果文件中的大多數行都大於 8KB,則在腳本中指定最大行的長度在利用資源上更為有效。 注: 從 PHP 4.3 開始本函數可以安全用於二進制文件。早期的版本則不行。

9. php 用fgets 能不能讀取隨機的一行

fgets()是從開頭到最後按順序 逐行讀取的。。
你想隨機讀取,不如rand()下,取個隨機數,再按下標讀取文件的第幾行。。

10. 關於PHP fgets和explode

經我測試確實有錯!

我把下面的函數改了一下你看看,你寫的有一點錯誤!當函數中遇到return時.此函數就跳出不再執行了!相當於你寫了個exit;所以你如果文本中有兩個以上的用戶名,第二個用戶名永遠檢測不到.

改過後測試可用

function checkPasswd($passwd,$user){
$flag=false;
if(!$fh = fopen("passwd.txt", "r")) return false;
while(!feof($fh)){
$line = trim(fgets($fh));
//your code goes below this line
$x = explode(":",$line);
if($user == $x[0] && $passwd == $x[1])
{
$flag=true;
break;
}
else
{
$flag=false;
}
}
fclose($fh);
return $flag;
}

熱點內容
php小票列印機 發布:2025-02-05 03:42:00 瀏覽:613
vivo安卓手機如何連接藍牙耳機 發布:2025-02-05 03:40:30 瀏覽:957
youtubeapp緩存 發布:2025-02-05 03:33:10 瀏覽:747
vc遍歷文件夾 發布:2025-02-05 03:33:09 瀏覽:479
怎麼設dns伺服器地址 發布:2025-02-05 03:31:57 瀏覽:758
訪問伺服器文件夾 發布:2025-02-05 03:29:38 瀏覽:38
新手機的密碼在哪裡 發布:2025-02-05 03:28:04 瀏覽:480
lol按鍵源碼 發布:2025-02-05 03:11:47 瀏覽:899
wordpress安裝linux 發布:2025-02-05 03:01:53 瀏覽:140
c語言中的temp 發布:2025-02-05 02:43:08 瀏覽:125