1

我可以执行以下操作:

$fopen = fopen($file_name, 'r');
$data = fgets($fopen, 16384);
fclose($fopen);

但是他们有什么方法可以模拟相同的功能但在字符串上(而不是使用文件名)?

$string = file_get_contents($file_name); /* just for demonstration purposes */
$data = /* do something here...*/

希望这是有道理的。

4

5 回答 5

4

这里有很多为字符串操作定义的函数。您可以选择其中任何一个满足您的要求。

可能你需要substr()

于 2011-02-20T15:41:21.307 回答
4

本手册页记录了一个自定义流包装器,可用于提供

使用标准文件系统流函数(例如 fread())对命名全局变量进行读/写访问。下面实现的 var:// 协议,给定 URL “var://foo” 将从 $GLOBALS["foo"] 读取/写入数据。

这将允许您执行以下操作:

$fp = fopen('var://string', 'r');
$data = fgets($fp, 16384);

从 $string 到“fread()”。

于 2011-02-21T04:07:25.433 回答
0
$parts = explode("\n", $data);

foreach ($parts as $key => $value) {  
    $parts[$key] = substr($parts[$key], 0, 16384);  
}
于 2011-02-20T15:49:36.540 回答
-1

嗯...不知道你想要什么,但你调查过substr()吗?

于 2011-02-20T15:40:39.840 回答
-1
$string = file_get_contents($file_name); /* just for demonstration purposes */
$data = substr($string, 0, 16384);

或者您是否希望每次调用函数时都消耗部分字符串?

于 2011-02-20T15:44:04.013 回答