php从文件读取数组
A. php读取JS文件中数组输出表格
html中不存在数组的说法, 自然也无法显示、保存、发送数组 如果你非要用html中的表单元素来发送多维数组数据,那就得转换一下, 1、将php数组循环遍历成字符串输出到隐藏域的value属性中 2、在隐藏域的name属性上做文章! 示例如下:
B. php 如何把数组读到文件
if(isset($_POST['sub'])){ $cfg = array('contact'=>$_POST['contact']); //把数据存入数组 file_put_contents('./data/contact.cache',serialize($cfg)); //把数组序列化之后,写到contact.cache里, $this->redirect('other/contact');//跳转 } else{ $fp = fopen('./data/contact.cache','r');//读 $cf = unserialize(fread($fp,filesize('./data/contact.cache')));//反序列化,并赋值 $this->assign('cfg',$cf);//送到前台模板 $this->display('other/contact'); }
C. PHP读取文件到数组,并统计相同元素的个数,按元素个数的多少排序
$file='a.txt';//含路径文件名
$txt=file_get_contents($file);//读取文件全部内容
$arr=implode(PHP_EOL,$txt);//将文件内容以换行符分割成数组
$count=array_count_values($arr);//统计数组中各个值出现的次数
arsort($count);//按数组值(统计数)对数组排序
$result=array_keys($count);//得到按重复次数排序的值为订单号的索引数组
D. php从文件中读取数据,保存到数组,从数组里选取前几列数据写入到文件里
<?PHP
$file_name="1.txt";
$fp=fopen($file_name,'r');
$str=array();
$bian=0;
while(!feof($fp))
{
$buffer=fgets($fp);
$str[$bian]=$buffer;
$bian++;
}
fclose($fp);
var_mp($str);
$k=fopen("2.txt","a+");
for($z=0;$z<2;$z++){
fwrite($k,$str[$z]);
}
fclose($k);
?>
E. PHP 如何从TXT文件读取到关联数组
需要复查文本格式,分隔符究竟是什么,特别注意区分空格和TAB,如果是空格代码可以这样写:
<?php
$arr=array();
foreach (file('1.txt') as $line){
$a=explode(' ',$line);
$arr[]=array('sex'=>$a[0],'name'=>$a[1]);
}
print_r($arr);
F. php读取txt内容数组
想要把一批文件读入内存对服务器可能负担太重,内存占用太多,甚至会造成内存不足、操作系统自动使用硬盘来扩充虚拟内存,而对硬盘虚拟出来的内存的操作会比实际内存的操作慢1000倍以上,因为硬盘读写是机械运动的速度,内存读写是电的速度、光的速度,不如用循环内一次只读入一个文件来处理。一次只读入一个文件时你可以用“ $lines = file('被读的文件名'); ”函数把一个文件读成内存中的一个数组 $lines,其中的每一个元素对应于文件的一行。有了数组 $lines 以后你再逐行循环,用“ $elements=explode( '\t', $lines ); ”函数把 已经体现为一个字符串的 $lines 中的每一行 剖分成一个数组 $elements ,其中,'\t' 是假定你的 txt 文件行内各个数据是用 '\t' (Tab键)隔开的,如果你用其它形式的分隔符(如:空格、逗号、斜杠等)就将该分隔符 代替 '\t' 内的 \t 。
通过这两重的循环,你可以访问到你需要访问的那个数据,服务器的压力也不会太大。
G. PHP将文本文件使用file方法读入数组后,如何修改特定文字开头的行为新的内容。
文本文件的维护是PHP中很常见的需求,但是因为你的关键字包含斜杠,因此需要进行转义处理,否则无法正常匹配。
在找到匹配的行后,你可以使用unset方法删除行,然后在数组的末尾追加新行,但是考虑到用户行为,即一般用户总是期待在修改的位置查看修改是否生效,因此最好的办法是直接替换行。
以下的代码模拟了你的应用,其中foreach($array as &$row)是指将行作为引用传递,这样对该行的修改就能体现到$array数组中了,这是很实用的一个小技巧。
$str = str_replace('/', "\/", '/share'); //查询目标
$new = '/newShare data' //修改后的数据
$array = array(
'/share somecontent',
'/other others',
); //这个数组模拟了你从文本文件中得到的值
foreach($array as &$row) {
if(preg_match("/^{$str}/", $row)) {
$row = "{$new}";
break;
}
}
print_r($array);
怎么样,是不是已经改变了:)
H. php将指定目录下所有文件(包括子目录)读入数组的方法
function byDirAddFile($dir, &$out = null)
{
$out == null && $out = array();
if (is_dir($dir) && ($dh = opendir($dir)))
{
while (($file = readdir($dh)) !== false)
{
if($file == '.' || $file == '..')
{
continue;
}
if(file_exists($dir. '/'. $file))
{
$dir[] = $file; //不包路径
// $dir[] = $dir. '/'. $file; //包含路径
}
else
{
byDirAddFile($dir. '/'. $file, $out);
}
}
closedir($dh);
}
return $out;
}
调用
var_mp( byDirAddFile(<目录>) ); //打印结果
I. php如何获取文件夹数组
如果是想获取当前文件的父文件夹名
可以使用basename(__DIR__);
如果是兄弟文件夹,
可以用glob(__DIR__.'*');获取兄弟文件(夹),使用is_dir判断文件夹,从而获取文件夹名称,
其他上层文件夹名
可以使用explode('/', str_replace("\\", "/", __DIR__));各个上层文件夹的名字根据层次索引存在数组中
J. 如何读取配置文件(php的)中的数组值
不要return
指定一个数组名 比如 $dataConfig = array……
include后,指定$dataConfig['…']来调用