工具/原料
电脑一台
WAMP开发环境
方法/步骤
file_get_content()函数介绍。使用file_get_contents()获取txt文件的内容,具体参数说明如下:
2
具体实例说明。从文本文件tst.txt中读取里面的内容并显示在浏览器中,具体代码和图示如下:
<?php
$file = 'tst.txt'
$content = file_get_contents($file)//读取文件中的内容
echo $content
?>
常用的用PHP读取EXCEL的方法有以下三种,各自有各自的优缺点。个人推荐用第三种方法,因为它可以跨平台使用。\x0d\x0a\x0d\x0a1. 以.csv格式读取\x0d\x0a\x0d\x0a将.xls转换成.csv的文本格式,然后再用PHP分析这个文件,和PHP分析文本没有什么区别。\x0d\x0a\x0d\x0a优点:跨平台,效率比较高、可以读写。\x0d\x0a\x0d\x0a缺点:只能直接使用.csv的文件,如果经常接受.xls二进制文件的话需要手工转换,不能自动化。一个文件只有一个SHEET。\x0d\x0a\x0d\x0aPHP有自带的分析.csv函数:fgetcsv\x0d\x0a\x0d\x0aarray fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )\x0d\x0a\x0d\x0ahandle 一个由 fopen()、popen() 或 fsockopen() 产生的有效文件指针。\x0d\x0a\x0d\x0alength (可选)必须大于 CVS 文件内最长的一行。在 PHP 5 中该参数是可选的。如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。\x0d\x0a\x0d\x0adelimiter (可选)设置字段分界符(只允许一个字符),默认值为逗号。\x0d\x0a\x0d\x0aenclosure (可选)设置字段环绕符(只允许一个字符),默认值为双引号。该参数是在 PHP 4.3.0 中添加的。 和 fgets() 类似,只除了 fgetcsv() 解析读入的行并找出 CSV 格式的字段然后返回一个包含这些字段的数组。\x0d\x0a\x0d\x0afgetcsv() 出错时返回 FALSE,包括碰到文件结束时。\x0d\x0a\x0d\x0a注意: CSV 文件中的空行将被返回为一个包含有单个 null 字段的数组,不会被当成错误。\x0d\x0a\x0d\x0a当然也可以自己手动分析字符串。\x0d\x0a\x0d\x0a还可以利用fputcsv函数将行格式化为 CSV 并写入文件指针。\x0d\x0a\x0d\x0a2. ODBC链接数据源\x0d\x0a\x0d\x0a优点:支持多种格式,cvs, xls等。支持读写,使用标准SQL语言,和SQLSERVER、MYSQL数据库几乎完全一样。\x0d\x0a\x0d\x0a缺点:值支持windows服务器\x0d\x0a\x0d\x0a3. PHP自定义类\x0d\x0a\x0d\x0a优点:跨平台。某些类支持写 *** 作。支持.xls二进制文件\x0d\x0a\x0d\x0a常用的类有phpExcelReader、PHPExcel。其中后者支持读写,但是需要php5.2以上版本。\x0d\x0a\x0d\x0aphpExcelReader是专门用来读取文件的。返回一个数组,包含表格的所有内容。\x0d\x0a\x0d\x0a该 class 使用的方法可以参考网站下载回来的压缩档中的 example.php。\x0d\x0a\x0d\x0a不过我下载回来的 (版本 2009-03-30),有两点要注意:\x0d\x0a\x0d\x0areader.php 中的下面这行要修改\x0d\x0a\x0d\x0a将 require_once ‘Spreadsheet/Excel/Reader/OLERead.php’\x0d\x0a\x0d\x0a改为 require_once ‘oleread.inc’\x0d\x0a\x0d\x0aexample.php 中\x0d\x0a\x0d\x0a修改 $data->setOutputEncoding(’CP1251′)\x0d\x0a\x0d\x0a为 $data->setOutputEncoding(’CP936′)\x0d\x0a\x0d\x0aexample2.php 中\x0d\x0a\x0d\x0a修改 nl2br(htmlentities($data->sheets[$sheet]['cells'][$row][$col]))\x0d\x0a\x0d\x0a为 $table_output[$sheet] .= nl2br(htmlspecialchars($data->sheets[$sheet]['cells'][$row][$col]))\x0d\x0a\x0d\x0a不然中文会有问题。\x0d\x0a\x0d\x0a繁体的话可以修改为CP950、日文是CP932,具体可参考codepage说明。\x0d\x0a\x0d\x0a修改 $data->read(’jxlrwtest.xls’) 为自己的 excel 文件名,zip 档中附的 jxlrwtest.xls 应该是坏了。示例代码1: 用file_get_contents 以get方式获取内容代码如下:
<?php
$url=''
$html=file_get_contents($url)
//print_r($http_response_header)
ec($html)
printhr()
printarr($http_response_header)
printhr()
?>
示例代码2: 用fopen打开url, 以get方式获取内容
代码如下:
<?
$fp=fopen($url,'r')
printarr(stream_get_meta_data($fp))
printhr()
while(!feof($fp)){
$result.=fgets($fp,1024)
}
echo"url body:$result"
printhr()
fclose($fp)
?>
示例代码3:用file_get_contents函数,以post方式获取url
代码如下:
<?php
$data=array('foo'=>'bar')
$data=http_build_query($data)
$opts=array(
'http'=>array(
'method'=>'POST',
'header'=>"Content-type: application/x-www-form-urlencodedrn".
"Content-Length: ".strlen($data)."rn",
'content'=>$data
),
)
$context=stream_context_create($opts)
$html=file_get_contents('',false,$context)
echo$html
?>
示例代码4:用fsockopen函数打开url,以get方式获取完整的数据,包括header和body
代码如下:
<?
functionget_url($url,$cookie=false){
$url=parse_url($url)
$query=$url[path]."?".$url[query]
ec("Query:".$query)
$fp=fsockopen($url[host],$url[port]?$url[port]:80,$errno,$errstr,30)
if(!$fp){
returnfalse
}else{
$request="GET$queryHTTP/1.1rn"
$request.="Host:$url[host]rn"
$request.="Connection: Closern"
if($cookie)$request.="Cookie:$cookien"
$request.="rn"
fwrite($fp,$request)
while(!@feof($fp)){
$result.=@fgets($fp,1024)
}
fclose($fp)
return$result
}
}
//获取url的html部分,去掉header
functionGetUrlHTML($url,$cookie=false){
$rowdata=get_url($url,$cookie)
if($rowdata)
{
$body=stristr($rowdata,"rnrn")
$body=substr($body,4,strlen($body))
return$body
}
returnfalse
}
?>
示例代码5:用fsockopen函数打开url,以POST方式获取完整的数据,包括header和body
代码如下:
<?
functionHTTP_Post($URL,$data,$cookie,$referrer=""){
// parsing the given URL
$URL_Info=parse_url($URL)
// Building referrer
if($referrer=="")// if not given use this script. as referrer
$referrer="111"
// making string from $data
foreach($dataas$key=>$value)
$values[]="$key=".urlencode($value)
$data_string=implode("&",$values)
// Find out which port is needed - if not given use standard (=80)
if(!isset($URL_Info["port"]))
$URL_Info["port"]=80
// building POST-request:
$request.="POST ".$URL_Info["path"]." HTTP/1.1n"
$request.="Host: ".$URL_Info["host"]."n"
$request.="Referer:$referern"
$request.="Content-type: application/x-www-form-urlencodedn"
$request.="Content-length: ".strlen($data_string)."n"
$request.="Connection: closen"
$request.="Cookie:$cookien"
$request.="n"
$request.=$data_string."n"
$fp=fsockopen($URL_Info["host"],$URL_Info["port"])
fputs($fp,$request)
while(!feof($fp)){
$result.=fgets($fp,1024)
}
fclose($fp)
return$result
}
printhr()
?>
示例代码6:使用curl库,使用curl库之前,你可能需要查看一下php.ini,查看是否已经打开了curl扩展
代码如下:
<?
$ch = curl_init()
$timeout = 5
curl_setopt ($ch, CURLOPT_URL, '')
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1)
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout)
$file_contents = curl_exec($ch)
curl_close($ch)
echo $file_contents
?>
关于curl库:
curl官方网站
curl 是使用URL语法的传送文件工具,支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。curl 支持SSL证书、HTTP POST、HTTP PUT 、FTP 上传,kerberos、基于HTT格式的上传、代理、cookie、用户+口令证明、文件传送恢复、http代理通道和大量其他有用的技巧
复制代码 代码如下:
<?
functionprintarr(array$arr)
{
echo"<br>Row field count: ".count($arr)."<br>"
foreach($arras$key=>$value)
{
echo"$key=$value <br>"
}
}
?>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)