php 显示php 中数组return Array
php 读取文本中数组,修改指定数组键值。达到统计下载文件排行。
<?php header("Content-type:text/html;charset=utf-8"); if(isset($_GET['down_id']) && !empty($_GET['down_id'])) { $down_id = $_GET['down_id']; $file='down_id.php'; $du = require_once($file); arsort($du); if (!isset($du[$down_id])) { $du[$down_id]= '1'; } else { $du[$down_id]=$du[$down_id]+1; } cache_write($file,$du,'rows',false); Header("Location:$down_id"); } else { echo '不存在!'; } //写入函数 function cache_write($filename,$values,$var='rows',$format=false) { $cachefile=$filename; $cachetext="<?php\r\n".'return '.arrayeval($values,$format).";"; return writefile($cachefile,$cachetext); } //数组转换成字串函数 function arrayeval($array,$format=false,$level=0) { $space=$line=''; if(!$format) { for ($i=0;$i<=$level;$i++) { $space.="\t"; } $line="\n"; } $evaluate='Array ('.' //自动排序'.$line; $comma=$space; foreach($array as $key=> $val) { $key=is_string($key)?'\''.addcslashes($key,'\'\\').'\'':$key; $val=!is_array($val)&&(!preg_match('/^\-?\d+$/',$val)||strlen($val) > 12)?'\''.addcslashes($val,'\'\\').'\'':$val; if(is_array($val)) { $evaluate.=$comma.$key.' => '.arrayeval($val,$format,$level+1); } else { $evaluate.=$comma.$key.' => '.$val; } $comma=','.$line.$space; } $evaluate.=$line.$space.')'; return $evaluate; } //写入文件函数 function writefile($filename,$writetext,$openmod='w') { if(false!==$fp=fopen($filename,$openmod)) { flock($fp,2); fwrite($fp,$writetext); fclose($fp); return true; } else { return false; } }
效果为
<?php return Array ( //自动排序 '2345explorer.zip' => 21, '2345pcsafe.zip' => 13, '360sd_114448.exe' => 3, 'u.exe' => 2, 'tel.zip' => 2, 'Adobe Flash Player ActiveX_23.0.0.185.exe' => 1, '360sd_x64_std_5.0.0.7033.exe' => 1, '360se 114448.exe' => 1, '360safe 114448.exe' => 1, 'desktop.zip' => 1, '360sd_std_5.0.0.7033.exe' => 1, 'Adobe Flash Player_NPAPI_23.0.0.185.exe' => 1, 'u1603.exe' => 1 );