PHP读取文件内容并输出显示

 更新时间:2016年11月25日 14:57  点击:2276
一个小的应用要用到txt文件来读取文件的内容之后再显示出来文件里面的内容了,下面来给各位分个例子,希望能帮助到各位哦。

例子

 代码如下 复制代码

<?
$file_name="1.txt";
echo $file_name."
";
$fp=fopen($file_name,'r');
//$buffer=fgets($fp);
while(!feof($fp)){
$buffer=fgets($fp);
echo $buffer;
}
fclose($fp);
?>

除了使用fopen函数之外还可以使用像file_get_contents函数

 

 代码如下 复制代码
if( file_exists( $path ) )
{
$body = file_get_contents($path);
 echo $body ;//输入文件内容
}
else
{
    echo "文件不存在 $path";
}

这个函数是一次性读取所有文件内容并显示出来,但是如果文件超大会导致php占很大的内存了。

当然还有像file这种一般是把文件读成数组了,同时也可以实现读取文件了

下面来看一个关于php把excel数值格式转成日期格式问题,因为自己在做一个转换时碰到问题,后来网上找到解决办法与原因下面一起看看。

在excel中:40847对应2011-10-31,是日期的数值型表现形式。

在PHP中,echo date('Y-m-d H:i:s',40847);//结果1970-01-01 11:52:30

原因:

PHP 的时间函数是从1970-1-1日开始计算的,单位是秒数。但是 EXCEL的是从1900-1-1日开始算的单位是天数。

如果只计算1970以后的时间的话,就好处理了。

先获得 EXCEL中 1970-1-1 代表的数字,我查了是25569。

现在要把excel中的40947,在php中用函数正确的显示出来

代码如下:
<?php
  $time = (40847 – 25569) * 24*60*60; //获得秒数
  echo date('Y-m-d H:i:s', $time);   //出来 2011-10-31
?>

在php中static const define三个变量都是可以叫做静态表情了,意思是定义好的就不能再变了,但是他们三个是针对不同的域名,下面我来给各位介绍一下它们三个的区别吧。

const

用来定义那些在运行时不能被改变的常数值。一旦定义且不能改变其值,假如在程序中改变了它的值,那么会出现错误。

 代码如下 复制代码

<?php
 calss Math{
 const pi=3.14159;
}
echo Math::pi;
?>

前面没有美元符号($),可以在不需要初始化该类的情况下实用。常量值必须是一个常量表达式。const定义的变量,在子类中可以被覆盖。
在类的内部定义,php5.3以后也可以在类的外部定义。
const不可以用表达式。

define()

可以用 define() 函数来定义常量。一个常量一旦被定义,就不能再改变或者取消定义。
常量只能包含标量数据(boolean,integer,float 和 string)。
可以简单的通过指定其名字来取得常量的值,不要在常量前面加上 $ 符号。
define定义全局常量,在任何地方都可以访问。
define不能在类中定义而const可以。
define可以采用任何表达式。如define('BIT_5', 1 << 5);

 代码如下 复制代码

<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
echo Constant; // outputs "Constant" and issues a notice.
?>


define()与const()两者之间的区别:

内存空间的分配上。define进行宏定义的时候,不会分配内存空间,编译时会在main函数里进行替换,只是单纯的替换,不会进行任何检查,比如类型,语句结构等,即宏定义常量只是纯粹的置放关系,如#define null 0;编译器在遇到null时总是用0代替null它没有数据类型(还有疑问请找C语言书籍看预处理部分或者看MSDN.而const定义的常量具有数据类型,定义数据类型的常量便于编译器进行数据检查,使程序可能出现错误进行排查,所以const与define之间的区别在于const定义常量排除了程序之间的不安全性.
define定义全局常量,在任何地方都可以访问
const用于类成员变量定义,只能用类名访问不能更改要是初学这样显理解着就行别太钻牛角尖就行

static

php中的变量作用范围的另一个重要特性就是静态变量(static 变量)。
静态变量仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时,其值不会消失,会使用上次执行的结果。
static关键字在类中,描述一个成员是静态的,static能够限制外部的访问,因为static后的成员是属于类的,是不属于任何对象实例。
static的成员,必须使用self来访问。

 代码如下 复制代码

class Counter
{
public static $count = 0;//定义一个静态属性
//定义一个静态的方法
static function getCount()
{
return self::$count;
}

echo Counter::getCount();
Counter::count;

最后补充一个例子:

 

 代码如下 复制代码

<?php


echo HAHA;

class test {
    public $name2 = 'name2';
    static $name = 'name';
    const CHARSET = "中国";
    public function say_hello() {
        echo self :: CHARSET;
    }

    public static function set_name() {
        echo self :: $name;
    }

    public static function set_name2() {
        self::set_name();
    }
  
    public static function set_name3() {
        echo $this->name;
        $this->set_name();
    }
  
}
$const1 = new test();

// 1
$const1->say_hello();

// 2
echo "<br />";
echo test :: CHARSET;

// 3
echo "<br />";
echo $const1->name;

// 4
echo "<br />";
echo $const1->set_name();

// 5
echo "<br />";
echo $const1->set_name2();

// 6
echo "<br />";
echo test::CHARSET;

// 7
echo "<br />";
echo $const1->CHARSET;
?>

很多初学者会发现在执行php时会发现页面什么出没有输出了,是一个空白的页面,出现这种问题是程序错误所导致了,那么我们要如何来找出程序的错误呢?下面一聚教程小编来给大家介绍一下吧。

原因分析

如果你程序有问题而我们执行时没有提醒错误,那么有几种可能

1.php.ini中错误提醒功能关闭,我们只要开启即可

找到display_errors = On 修改为 display_errors = off

2.在php程序相关页面也加了关闭错误报错功能,我们去掉相关代码即可

ini_set("display_errors", "On");

当然如果你没有权限来做这些操作我们可以使用echo 排查法来解决

 代码如下 复制代码
<?php
$action = $_GET['id'];
if($action == '')
$action = 1;
if($action == 1) {
echo("/$action's value is 1");
} else if($action == 2) {
echo("/$action's value is 2");
}
?>



如上图所示我们可以利用条件来判断当前所在位置 ,然后 一步步排查导致页面空白问题。

CURL函数需我们打开CURL模块才可以支持了,这个在php.ini默认安装时是不支持CURL函数的,如果要使用curl函数我们需开启CURL模块哦。

如我先做个测试我们php.ini

代码

 代码如下 复制代码

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.111cn.net");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果把这行注释掉的话,就会直接输出
$result=curl_exec($ch);
curl_close($ch);

错误提示


Fatal error: Call to undefined function curl_init() in E:/www/test.php on line 4

这个是告诉我们函数未定义了,这是php内置函数怎么可能未定义了呢,我们查看php.ini文件,发现如下状态

;extension=php_curl.dll

这个是未开启状态了,我们先去掉前面的;号了

extension=php_curl.dll

再重启apache然后再运行代码效果如下

//成功访问了www.111cn.net网站了

总结,其实使用curl是非常的简单的我们只要在php.ini中把extension=php_curl.dll前面的;号去掉即可。

[!--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