09/10/2018, 18:14
mình gặp vấn đề về file trong php
//rắc rối thứ nhất
khi mình sử dụng hàm fopen để lưu nội dung file
<?
$fp=$path"/info.inc";
$content=fopen($fp,"r");
echo $content;
?>
thì nó ra kết quả là: "Resource id #3"
//rắc rối thứ hai
khi mình dùng hàm đọc file:
<?
$fp=$path"/info.inc";
$content=readfile($fp);
?>
thì nó tự hiện nội dung ra mặc dù mình chưa có lệnh echo.
//yêu cầu của mình chỉ đơn giản
đọc nội dung của file vào biến $content và xử lý nó theo ý minh.
khi mình sử dụng hàm fopen để lưu nội dung file
<?
$fp=$path"/info.inc";
$content=fopen($fp,"r");
echo $content;
?>
thì nó ra kết quả là: "Resource id #3"
//rắc rối thứ hai
khi mình dùng hàm đọc file:
<?
$fp=$path"/info.inc";
$content=readfile($fp);
?>
thì nó tự hiện nội dung ra mặc dù mình chưa có lệnh echo.
//yêu cầu của mình chỉ đơn giản
đọc nội dung của file vào biến $content và xử lý nó theo ý minh.
Bài liên quan
while (!eof($fp)) {
$content = fgets($fp);
// xu ly bien content ...
}
Ban thu xem
Rắc rối thứ hai: hàm readfile tự động dùng echo luôn.
Giải quyết hai rắc rối, xin bạn xem code của nn_future hoặc sử dụng hàm file_get_contents( chỉ dủng được với PHP version >= 4.3.0)
$content = file_get_contents("/user/data/file.txt");
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<?
if($_REQUEST["edit"])
{
$fp = fopen("../files/aaa.txt","a");
if(!fwrite($fp, $content))
{
echo "Cannot edit file";
}
else
echo "edit file successful";
fclose($fp);
}
$fp = fopen("../files/aaa.txt","w+");
while(!feof($fp))
{
$content .= fgetss($fp,1000);
}
fclose($fp);
//echo $content;
?>
<form name="form1" method="post" action="b.php">
<table width="100%" border="0">
<tr>
<td width="17%"> </td>
<td width="83%"> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><textarea name="content" cols="70" rows="7"><? echo $content?></textarea></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="edit" value="edit"></td>
</tr>
</table>
</form>
</body>
</html>
1. Mở file (fopen)
2. Đọc file (freads hay fgets )
3. in ra (echo )
4. Đóng file lại (fclose)