PHP不直接管理内存的,是即存即取的,形式就是通过变量或变量引用来直接指向某块内存,
方法一:通过yield的生成器实现有限内存中的大文件读取
方法二:使用SPL 库 提供的 SplFileObject 类
//第一种?
php
$conn?=?mysql_connect("主机名","用户名","密码");
mysql_select_db("数据库名",$conn);
$sql?=?"select?*?from?user";
$result?=?mysql_query($sql);
$data="";
while($row?=?mysql_fetch_row($result)){
foreach($row?as?$v){
$data?.=$v."|";?//加个树线隔开字段
}
file_put_contents("abc.txt",$data);
//第二种
$filename?=?"abc.txt";
$res?=?fopen($filename,"r");
while(!feof($res)){
$buffer?=?fgets($res);
$buffer?=?str_replace('?',?'|',?$buffer);?
$array?=?explode('|',?$buffer);?
foreach($array?as?$v){
if(strlen($v)0){
$arr[]?=?$v;
fclose($res);
//组装数组插入数据库就可以了
PHP性能优化过程中需要获取PHP内存消耗,使用memory_get_usage()函数可获取当前的内存消耗情况,函数使用简单,这里讨论一下memory_get_usage()函数的用法与实例
三,基础用法与实例
①.,获取当前的内存消耗量
复制代码代码如下:
echo memory_get_usage();
$var = str_repeat("liuhui", 10000);
unset($var);
说明:memory_get_usage()函数输出的数值为bytes单位
function convert($size){
$unit=array('b','kb','mb','gb','tb','pb');
echo convert(memory_get_usage(true));
function array_size($arr) {
ob_start();
print_r($arr);
$mem = ob_get_contents();
ob_end_clean();
$mem = preg_replace("/\n ◆/", "", $mem);
$mem = strlen($mem);
return $mem;
$memEstimate = array_size($GLOBALS);
不幸地告诉你,PHP是直接操作内存的,你声明的一个变量,新建的对象,都是放在内存里的..
--------------分割线------------------------
以上就是土嘎嘎小编为大家整理的php如何读取内存数据相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!