怎么用php读取并显示另一个php文件的内容?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用php读取并显示另一个php文件的内容?相关的知识,希望对你有一定的参考价值。
用php读取并显示另一个php的内容,就像查看源文件效果一样。
就是本服务器的php文件
代码如下:
<?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>";
?> 参考技术A <?php
$filename = "./test.php";
$str = file_get_contents($filename);
//可以是以短标签或长标签
$start1 = "<?";
$start2 = "<?php";
用空值替换php标签,使他成为一个普通代码,不让apache编译
$str = str_ireplace($start1,"",$str);
$str = str_ireplace($start2,"",$str);
$end = "?>";
$str = str_ireplace($end,"",$str);
echo $str;追问
还不够完美,空格替代了<?标记,而且没有换行。
参考技术B 你是指另一个服务器上面的php文件吗?那是不可以的。追问
就是本服务器的php文件,不考虑安全问题。
追答将楼上的改一下就可以换行了
$str = str_ireplace($start1,"",$str);
$str = str_ireplace($start2,"",$str);
php怎样读取excel表格内容?
参考技术A 常用的用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 应该是坏了。以上是关于怎么用php读取并显示另一个php文件的内容?的主要内容,如果未能解决你的问题,请参考以下文章