php读取大文件实例代码

 更新时间:2016年11月25日 15:45  点击:1403
在php中如果读取普通的小文件方法很简单,但如果我们要利用php读取大文件可能需要一些小技巧了,下面我来总结一下php读取大文件实例

在php开发中,经常遇到要读取一些文件,最简便的方法莫过于使用一些如file、file_get_contents之类的函数,简简单单的几行代码就能轻松的搞定。但当需要操作的文件是一个比较大的文件时,这些函数可能就显的力不从心, 下面将从一个需求入手来说明对于读取大文件时,常用的操作方法。

 

需求:有一个800M的日志文件,大约有500多万行,用php返回最后几行的内容。

 

实现方法有以下:

 

1. 直接采用 file函数 来操作

 

注:由于 file函数是一次性将所有内容读入内存,而php为了防止一些写的比较糟糕的程序占用太多的内存而导致系统内存不足,使服务器出现宕机,所以默认情况下限制只能最大使用内存16M,这是通过php.ini里的 memory_limit = 16M来进行设置,这个值如果设置-1,则内存使用量不受限制.

 

下面是一段用file来取出这具文件最后一行的代码.

 

 代码如下 复制代码

ini_set('memory_limit', '-1');
$file = 'access.log';
$data = file($file);
$line = $data[count($data)-1];
echo $line; 

整个代码执行完成耗时 116.9613 (s).

 

我机器是2个G的内存,当按下F5运行时,系统直接变灰,差不多20分钟后才恢复过来,可见将这么大的文件全部直接读入内存,后果是多少严重,所以不在万 不得以,memory_limit这东西不能调得太高,否则只有打电话给机房,让reset机器了.

 

2.直接调用linux的 tail命令 来显示最后几行

 

在linux命令行下,可以直接使用tail -n 10 access.log很轻易的显示日志文件最后几行,可以直接用php来调用tail命令,执行php代码如下.

 

 代码如下 复制代码

file = 'access.log';
$file = escapeshellarg($file); // 对命令行参数进行安全转义
$line = `tail -n 1 $file`;
echo $line; 

整个代码执行完成耗时 0.0034 (s)

 

3. 直接使用 php的fseek 来进行文件操作

 

这种方式是最为普遍的方式,它不需要将文件的内容全部读入内容,而是直接通过指针来操作,所以效率是相当高效的.在使用fseek来对文件进行操作 时,也有多种不同的方法,效率可能也是略有差别的,下面是常用的两种方法.

 

方法一:

 

首先通过fseek找到文件的最后一位EOF,然后找最后一行的起始位置,取这一行的数据,再找次一行的起始位置, 再取这一行的位置,依次类推,直到找到了$num行。

 

实现代码如下:

 

 代码如下 复制代码

$fp = fopen($file, "r");
$line = 10;
$pos = -2;
$t = " ";
$data = "";
while ($line > 0) {
    while ($t != "n") {
        fseek($fp, $pos, SEEK_END);
        $t = fgetc($fp);
        $pos --;
    }
    $t = " ";
    $data .= fgets($fp);
    $line --;
}
fclose ($fp);
echo $data; 

整个代码执行完成耗时 0.0095 (s)

 

方法二:

 

还是采用fseek的方式从文件最后开始读,但这时不是一位一位的读,而是一块一块的读,每读一块数据时,就将读取后的数据放在一个buf里,然后通过换 行符(n)的个数来判断是否已经读完最后$num行数据.

 

实现代码如下:

 代码如下 复制代码

 

$fp = fopen($file, "r");
$num = 10;
$chunk = 4096;
$fs = sprintf("%u", filesize($file));
$max = (intval($fs) == PHP_INT_MAX) ? PHP_INT_MAX : filesize($file);
for ($len=0; $len<$max; $len+=$chunk) {
    $seekSize = ($max - $len &gt; $chunk) ? $chunk : $max - $len;
    fseek($fp, ($len + $seekSize) * -1, SEEK_END);
    $readData = fread($fp, $seekSize) . $readData;

    if (substr_count($readData, "n") &gt;= $num + 1) {
        preg_match("!(.*?n){".($num)."}$!", $readData, $match);
        $data = $match[0];
        break;
    }
}
fclose($fp);
echo $data; 

整个代码执行完成耗时 0.0009(s).

 

方法三:

 

 代码如下 复制代码

function tail($fp,$n,$base=5) {
    assert($n>0);
    $pos = $n+1;
    $lines = array();
    while(count($lines) <= $n) {
        try{
            fseek($fp,-$pos,SEEK_END);
        } catch (Exception $e) {
            fseek(0);
            break;
        }
        $pos *= $base;
        while(!feof($fp)) {
            array_unshift($lines,fgets($fp));
        }
    }
    return array_slice($lines,0,$n);
}
var_dump(tail(fopen("access.log","r+"), 10)); 

整个代码执行完成耗时 0.0003(s)

很多同学都在问为什么时候curl登录之后cookie取不了或存储不了怎么办,下面我来给大家演示两个php curl 登录并读取或存储 cookie值方法。

先准备两?小程式, 做确认程式是否有抓到 COOKIE 值.

login.php (POST 到 login.php, login.php 会确认帐号/密码, 然后写 COOKIE值)

 

 代码如下 复制代码
<?php
if ($_POST['username'] == 'admin' && $_POST['password'] == '1234') {
    setcookie('u', 'admin');
    header('Location: check_login.php');
} else {
    echo 'failed';
}
?>


check_login.php (确认是否有 $_COOKIE['u'] 的值, 而且是否是 'admin', 来判断是否已 Login)

 代码如下 复制代码


<?php
if ($_COOKIE['u'] == 'admin') {
    echo 'Login success.';
} else {
    echo 'Login failed.';
}
?>


假设上述两个档案分别在 http://localhost/login.php / http://localhost/check_login.php, 所以就来写下述程式, 送 POST 到 login.php, 再经由 check_login.php 做确认是否登入完成, 程式如下:


 代码如下 复制代码

<?php

// 取得目? Url ?定的 cookie, ??入 cookie.txt (使用 POST)
function setUrlCookie($url, $postdata)
{
    //$cookie_jar = tempnam('./','cookie'); // Create file with unique file name (cookie*)
    $cookie_jar = './cookie.txt';

    $resource = curl_init();
    curl_setopt($resource, CURLOPT_URL, $url);
    curl_setopt($resource, CURLOPT_POST, 1);
    curl_setopt($resource, CURLOPT_POSTFIELDS, $postdata);
    curl_setopt($resource, CURLOPT_COOKIEFILE, $cookie_jar);
    curl_setopt($resource, CURLOPT_COOKIEJAR, $cookie_jar);
    curl_setopt($resource, CURLOPT_RETURNTRANSFER, 1);
    curl_exec($resource);

    return $resource;
}

// 取得此 Url 的?热?br /> function getUrlContent($resource, $url)
{
    curl_setopt($resource, CURLOPT_URL, $url);
    curl_setopt($resource, CURLOPT_RETURNTRANSFER, 1);
    $content = curl_exec($resource);

    return $content;
}


// Test:
// post to url and get cookie
/*
$url = 'http://localhost/login.php';
$postdata = 'username=admin&password=1234';
$resource = setUrlCookie($url, $postdata); // set cookie 'u' => 'admin' or anything

// get contents (need cookie check)
$url = 'http://localhost/check_login.php';
echo getUrlContent($resource, $url); // Login success.
*/
?>

Function List

■resource setUrlCookie($url, $postdata)
■string getUrlContent($resource, $url)
使用方法

■getUrlContent(setUrlCookie($login_url, $postdata), $login_check_url);
setUrlCookie() 是 POST 送到 Login.php, 然后将 COOKIE 写入 cookie.txt(或者可以用  tempnam() 产生一个唯一名字的档案来储存). 再用 getUrlContent() 去通过 COOKIE 验证, 以取得网页的资料.

照理说应该将上述 function 写成一个 Class, 能方便管理 curl_init() 的 resource, 不过, 先暂时写成 function, 应该较容易理解~

再看一个实例

 代码如下 复制代码

<?php
$cookie_jar_index = 'cookie.txt';
 
$url = "http://www.111cn.net";
$params = "username=dudu&password=****";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar_index);
//curl_setopt($ch, CURLOPT_COOKIE, "fruit=apple; colour=red");
//上面代码是直接传递cookie信息,而非文件
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
//curl_setopt($ch, CURLOPT_NOBODY, 1);//这个不能打开,否则无法生成cookie文件
ob_start();
curl_exec($ch);
curl_close($ch);
ob_clean();
 
$url = "http://www.111cn.net";
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, $url);
curl_setopt($ch2, CURLOPT_COOKIEFILE, $cookie_jar_index);
ob_start();
curl_exec($ch2);
curl_close($ch2);
$rs = ob_get_contents(); //$rs就是返回的内容
ob_clean();
 
print_r($rs);
 
?>

在php 中curl_init可以做很多远程采集或模仿用户登录的一些实例,下面小编来给各位同学介绍php中的curl_init使用方法

首先,我们要知道curl_init在php安装是是不可以使用的,我们必须开户它才可以

在C/windows里的php.ini中我打开了extension=php_curl.dll的功能,然后也重启了apapche

你看看PHP的phpinfo()中有没有CURL扩展支持!

把php_curl.dll拷到c:/windows/和c:/windows/system32里面 重启apache

PHP中的CURL函数库(Client URL Library Function)

curl_close — 关闭一个curl会话
curl_copy_handle — 拷贝一个curl连接资源的所有内容和参数
curl_errno — 返回一个包含当前会话错误信息的数字编号
curl_error — 返回一个包含当前会话错误信息的字符串
curl_exec — 执行一个curl会话
curl_getinfo — 获取一个curl连接资源句柄的信息
curl_init — 初始化一个curl会话
curl_multi_add_handle — 向curl批处理会话中添加单独的curl句柄资源
curl_multi_close — 关闭一个批处理句柄资源
curl_multi_exec — 解析一个curl批处理句柄
curl_multi_getcontent — 返回获取的输出的文本流
curl_multi_info_read — 获取当前解析的curl的相关传输信息
curl_multi_init — 初始化一个curl批处理句柄资源
curl_multi_remove_handle — 移除curl批处理句柄资源中的某个句柄资源
curl_multi_select — Get all the sockets associated with the cURL extension, which can then be “selected”
curl_setopt_array — 以数组的形式为一个curl设置会话参数
curl_setopt — 为一个curl设置会话参数
curl_version — 获取curl相关的版本信息

curl_init()函数的作用初始化一个curl会话,curl_init()函数唯一的一个参数是可选的,表示一个url地址。
curl_exec()函数的作用是执行一个curl会话,唯一的参数是curl_init()函数返回的句柄。
curl_close()函数的作用是关闭一个curl会话,唯一的参数是curl_init()函数返回的句柄。

例子一: 基本例子
基本例子

 代码如下 复制代码

??php
// 初始化一个 cURL 对象
$curl = curl_init();

// 设置你需要抓取的URL
curl_setopt($curl, CURLOPT_URL, ‘http://www.cmx8.cn’);

// 设置header
curl_setopt($curl, CURLOPT_HEADER, 1);

// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

// 运行cURL,请求网页
$data = curl_exec($curl);

// 关闭URL请求
curl_close($curl);

// 显示获得的数据
var_dump($data);

?>

例子二: POST数据

sendSMS.php,其可以接受两个表单域,一个是电话号码,一个是短信内容。
POST数据

 代码如下 复制代码
??php
$phoneNumber = ’13812345678′;
$message = ’This message was generated by curl and php’;
$curlPost = ’pNUMBER=’ . urlencode($phoneNumber) . ’&MESSAGE=’ . urlencode($message) . ’&SUBMIT=Send’;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, ’http://www.111cn.net/sendSMS.php’);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec();
curl_close($ch);
??

例子三:使用代理服务器
使用代理服务器

 代码如下 复制代码
??php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, ’http://www.cmx8.cn’);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_PROXY, ’proxy.111cn.net:1080′);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, ’user:password’);
$data = curl_exec();
curl_close($ch);
??

例子四: 模拟登录

Curl 模拟登录 discuz 程序,适合DZ7.0,将username改成你的用户名,userpass改成你的密码就可以了.
Curl 模拟登录 discuz 程序
<?php   
 

 代码如下 复制代码

 
!extension_loaded(‘curl’) && die(‘The curl extension is not loaded.’);  
 
$discuz_url = ‘http://www.111cn.net’;//论坛地址  
$login_url = $discuz_url .’/logging.php?action=login’;//登录页地址  
$get_url = $discuz_url .’/my.php?item=threads’; //我的帖子  
 
$post_fields = array();  
//以下两项不需要修改  
$post_fields['loginfield'] = ‘username’;  
$post_fields['loginsubmit'] = ‘true’;  
//用户名和密码,必须填写  
$post_fields['username'] = ‘lxvoip’;  
$post_fields['password'] = ’88888888′;  
//安全提问  
$post_fields['questionid'] = 0;  
$post_fields['answer'] = ”;  
//@todo验证码  
$post_fields['seccodeverify'] = ”;  
 
//获取表单FORMHASH  
$ch = curl_init($login_url);  
curl_setopt($ch, CURLOPT_HEADER, 0);  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
$contents = curl_exec($ch);  
curl_close($ch);  
preg_match(‘/<input/s*type=”hidden”/s*name=”formhash”/s*value=”(.*?)”/s*//>/i’, $contents, $matches);  
if(!empty($matches)) {  
   $formhash = $matches[1];  
} else {  
   die(‘Not found the forumhash.’);  
}  
 
//POST数据,获取COOKIE  
$cookie_file = dirname(__FILE__) . ‘/cookie.txt’;  
//$cookie_file = tempnam(‘/tmp’);  
$ch = curl_init($login_url);  
curl_setopt($ch, CURLOPT_HEADER, 0);  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt($ch, CURLOPT_POST, 1);  
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);  
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);  
curl_exec($ch);  
curl_close($ch);  
 
//带着上面得到的COOKIE获取需要登录后才能查看的页面内容  
$ch = curl_init($get_url);  
curl_setopt($ch, CURLOPT_HEADER, 0);  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);  
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);  
$contents = curl_exec($ch);  
curl_close($ch);  
 
var_dump($contents);

 

我现在用的是 模拟ie6 的:

 代码如下 复制代码

function crawl_dou_request($url,$timeout=1){//php 模拟get
ob_start();
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT,”MISE 6.0″);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,$timeout);
$file_msg = curl_exec($ch);
curl_close($ch);
return $file_msg;
}

在php中如果你要对文件进行一些操作是很方便的事情了,因为php提供了大量的php文件操作函数,下面我来给大家总结一下php文件操作方法与函数。

1、获取文件名:basename();

2、获取文件所在的目录:dirname();

3、pathinfo()获取文件信息,返回结果为一个array,包括路径、文件全名、文件名和扩展名。例如:

 代码如下 复制代码

$file = '/com/netingcn/error.log';
print_r(pathinfo($file));

结果为:

Array(
    [dirname] => /com/netingcn
    [basename] => error.log
    [extension] => log
    [filename] => error
)

4、判断文件是否存在:is_file();

5、判断目录是否存在:is_dir();

6、判断文件或目录是否存在:file_exists();

7、读取文件所有内容:file()或file_get_contents(),其中file()返回的是一个一行为元素的array,file_get_contents()把文件全部内容作为一个String返回;

8、写文件fwrite,如:

 代码如下 复制代码

$handler = fopen($file, 'w'); // w 会冲掉以前的内容、a 是追加
fwrite($handler, 'content');
fclose($handler);              //记得关闭打开的文件句柄9、文件读取操作有很多,下面简单介绍几个:

$handler = fopen($file, 'r');

while(!feof($handler)) {
    $datas[] = fgets($handler);  //读取一行内容
}

while(!feof($handler)) {
    $datas[] = fgetss($handler); //读取一行内容并过来html标记
}

while(!feof($handler)) {
    $datas[] = fgetcsv($handler); //读取一行内容并解析csv字段
}

$content = fread($handler, $strLength); //读取指定长读的字符

fclose($handler);


 PHP 读文件内容,此文件为txt,路径$filePath为'list.txt', 即放在和php文件同一个目录,

    注意:

          本人的txt的内容样式如下:

                  Email,FirstName,LastName...

                  neil@ddd.com,neil,zhou...

                  ...

具体实现根据自身情况修改。

 代码如下 复制代码

    $fp = fopen($filePath,"r ");
    $a = read_content_to_array($fp);   // 取得文本文件中的内容
    fclose($fp);

 

/**
    @desc read file content to array
    @params $fp: file resource
    @return array
*/
function read_content_to_array($fp){
    $i=0;
    $a = array();
    while (!feof ($fp)) {            //while循环,条件:没到文件的末端。


        $buffer = fgets($fp, MAX_BYTES_PER_ROW);  //fgets() 函数用于从文件中逐行读取文件,,读取的字节数。默认是 1024 字节。MAX_BYTES_PER_ROW为自定义的一个常量,读取的字节数


        $block=explode(STR_TD_DIVIDER,$buffer); //用分隔符对操作的一行($buffer)进行分割,返回由字符串组成的数组。STR_TD_DIVIDER为自定义的一个常量,每行中各个字段之间的分隔符。


        $a[$i]=$block;
        $i=$i+1;                     //通过while循环,带动i值递增,实现数组构建。
    }
    return $a;
}

 

PHP 写内容到txt文件中

 代码如下 复制代码

$handle = fopen($filePath, "w ");
fwrite($handle,$str);
fclose($handle);

怎么样,是不是看起来很简单呢?下面是一些简单知识的总结:

fopen()
fopen() 函数用于在 PHP 中打开文件,此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件.

模式      描述
r         只读。在文件的开头开始。
r+        读/写。在文件的开头开始。
w         只写。打开并清空文件的内容;如果文件不存在,则创建新文件。
w+        读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。
a         追加。打开并向文件文件的末端进行写操作,如果文件不存在,则创建新文件。
a+        读/追加。通过向文件末端写内容,来保持文件内容。
x         只写。创建新文件。如果文件以存在,则返回 FALSE。
x+        读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。
注释:如果 fopen() 无法打开指定文件,则返回 0 (false)。


feof()
检测 End-of-file
feof() 函数检测是否已达到文件的末端 (EOF),在循环遍历未知长度的数据时,feof() 函数很有用。注释:在 w 、a 以及 x 模式,您无法读取打开的文件!
if (feof($file)) echo "End of file";
 
fgets()
fgets() 函数用于从文件中逐行读取文件。在调用该函数之后,文件指针会移动到下一行。

如果我使用的是动态url后面会带上如a.php?a=1&b=2这种,那么我要提取a,b参数名与参数值要怎么操作呢,下面我来介绍一个自己用的实例。


在已知参数名的情况下,获取参数值,使用正则表达式能很容易做到。js的实现方法如下:

 代码如下 复制代码

function getValue(url, name) {
 var reg = new RegExp('(\?|&)' + name + '=([^&?]*)', 'i');
 var arr = url.match(reg);

 if (arr) {
  return arr[2];
 }

 return null;
}

如果想获取所有的参数名和其对应的值,同样也可以使用正则表达式的方法,js实现方法:

 代码如下 复制代码

function getKeyValue(url) {
 var result = {};
 var reg = new RegExp('([\?|&])(.+?)=([^&?]*)', 'ig');
 var arr = reg.exec(url);

 while (arr) {
  result[arr[2]] = arr[3];

  arr = reg.exec(url);
 }

 return result;
}

注意在js中用于匹配的还有一个叫match,match是字符串的方法,而exec是RegExp对象的方法。使用字符串的match方法,同时正则表达式指定为全局匹配,那么正则表达式中的分组将没有用,返回的结果是所有匹配正则表达式的子字符串。exec方法没有使用全局匹配标志时,返回的时间第一个匹配的子字符,如果使用了全局匹配标志,第一次执行从头开始匹配符号的字符串,再次调用,就从上一次匹配结果后开始匹配。

下面提供php的实现方法:

 代码如下 复制代码

function getKeyValue($url) {
 $result = array();
 $mr = preg_match_all('/(?|&)(.+?)=([^&?]*)/i', $url, $matchs);

 if ($mr !== FALSE) {
  for ($i = 0; $i < $mr; $i++) {
   $result[$matchs[2][$i]] = $matchs[3][$i];
  }
 }

 return $result;
}

php的preg_match_all方法把匹配的结果存放在第三个指定的参数中,是一个二维数组。第一维度是分组信息的数组,即第一个数组存放的是所有匹配的完整字符串,第二个数组存放的是第一个()对应的值得,第二维度是分组的值。

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • php把读取xml 文档并转换成json数据代码

    在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • AI源文件转photoshop图像变模糊问题解决教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • C#路径,文件,目录及IO常见操作汇总

    这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • C#使用StreamWriter写入文件的方法

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • ant design中upload组件上传大文件,显示进度条进度的实例

    这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29
  • php实现文件下载实例分享

    举一个案例:复制代码 代码如下:<?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name...2014-06-07