PHP文件处理fopen 读写

 更新时间:2016年11月25日 15:15  点击:2118

fopen()是用来打开文件,在PHP 。

第一个参数的这一功能包含文件的名称将开放第二个参数指定的文件模式应打开:

 <html>
<body><?php
$file=fopen("welcome.txt","r");
?></body>
</html>

The file may be opened in one of the following modes:

Modes Description
r Read only. Starts at the beginning of the file
r+ Read/Write. Starts at the beginning of the file
w Write only. Opens and clears the contents of file; or creates a new file if it doesn't exist
w+ Read/Write. Opens and clears the contents of file; or creates a new file if it doesn't exist
a Append. Opens and writes to the end of the file or creates a new file if it doesn't exist
a+ Read/Append. Preserves file content by writing to the end of the file
x Write only. Creates a new file. Returns FALSE and an error if file already exists
x+ Read/Write. Creates a new file. Returns FALSE and an error if file already exists

注意:如果fopen()函数是无法打开指定的文件,它返回0 (假) 。

例如
下面的例子生成一个讯息,如果fopen()函数是无法打开指定的文件:

<html>
<body>
<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
?>
</body>
</html>

fclose 关闭文件
该fclose ( )函数是用来关闭一个开放的档案

<?php
$file = fopen("test.txt","r");
//some code to be executed
fclose($file);
?>
检查文件结束
该feof ( )函数检查如果“文件结束” (的EOF )已经达成。

该feof ( )函数是有益的循环,通过数据的未知的长度。

注意:您不能读取档案开放瓦特,一个,和x模式
if (feof($file)) echo "End of file";
 

读文件一行行
该fgets ( )函数是用来读取一个单一的从一个文件。

注意:在调用此函数的文件指针已经移到下一行。

例如
下面的例子中读取文件一行行,直至到达文件:

<?php
$file = fopen("welcome.txt", "r") or exit("Unable to open file!");
//Output a line of the file until the end is reached
while(!feof($file))
  {
  echo fgets($file). "<br />";
  }
fclose($file);
?>

读文件的性格特征
该fgetc ( )函数是用来读取一个字符从一个档案。

注意:在调用此函数的文件指针移动到下一个字符。

例如
下面的例子中读取一个文件性质的特点,到年底达成的文件是:

 

<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
while (!feof($file)) 
  { 
  echo fgetc($file); 
  }
fclose($file);
?>

PHP文件上传 move_uploaded_file

建立一个上传文件表格
为了让用户上传文件的形式可以是非常有益的。

看看下面的HTML表单的文件上传:

<html>
<body>
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" /> 
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>

请注意以下的HTML表单上面:

该是enctype属性<form>标记指定的内容类型时使用的形式提交。 “多/形式的数据”时使用的一种形式,需要二进制数据,如文件内容,将上传
该类型= “文件”属性指定<input>标记的投入应该是处理文件。例如,当观看在浏览器中,将有浏览按钮,旁边的输入栏位
注:允许用户上传文件是一个很大的安全风险。只允许受信任的用户进行文件上传。





创建上传脚本
该“ upload_file.php ”文件中包含的代码上传文件:

<?php
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br />";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  echo "Type: " . $_FILES["file"]["type"] . "<br />";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }
?>

利用全球的PHP变量$ _FILES阵列,您可以上传文件从用户端电脑到远程服务器。

第一个参数是表单的输入名称和第二指数可以是“姓名” , “类型” , “大小” , “ tmp_name ”或“错误” 。像这样:

变量$ _FILES [ “file” ] [ “name” ] -的名字上传的文件
变量$ _FILES [ “file” ] [ “type” ] -类型的上传文件
变量$ _FILES [ “file” ] [ “size” ] -大小以字节为单位的上传文件
变量$ _FILES [ “file” ] [ “ tmp_name ” ] -名称的临时副本的文件存储在服务器上
变量$ _FILES [ “file” ] [ “error” ] -错误代码造成的文件上传
这是一个非常简单的方式上传文件。出于安全原因,你应该补充什么限制,用户可以上传。


限制上传
在此脚本,我们添加一些限制文件上传。用户只能上传。 gif或。 JPEG文件和文件大小必须在20 kB的:

<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Error: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Stored in: " . $_FILES["file"]["tmp_name"];
    }
  }
else
  {
  echo "Invalid file";
  }
?>
 

注意:对于IE浏览器承认jpg文件类型必须pjpeg ,用于Firefox必须的jpeg 。




节能上传文件
上述范例建立一个临时副本上传的文件在PHP临时文件夹在服务器上。

临时复制的文件消失了的剧本时结束。存储上传的文件,我们需要将它复制到不同的位置:

<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>
以上脚本检查,如果文件已经存在,如果它不,它的文件拷贝到指定文件夹。

注意:这个例子保存文件到一个新的文件夹中所谓的“上传”

PHP Include 文件

服务器端包括
您可以插入的内容的文件到PHP文件之前,服务器执行它,与包括( )或要求( )函数。这两项职能是相同的各种方式,但他们如何处理错误。在包括( )函数生成一个警告(但该脚本将继续执行) ,而需要( )函数生成一个致命的错误(和脚本执行后,将停止错误) 。

这两项职能是用于创建功能,页眉,页脚,或内容,可重复使用的多个页面。

这可以节省开发了相当多的时间。这意味着,您可以创建一个标准的标题或菜单文件,您想您的所有网页,包括。当头需要更新,您只能更新一个包括文件,或当你添加了新的一页到您的网站,您可以改变菜单文件(而不是更新的所有链接的网页) 。

在包括( )函数
在包括( )函数中的所有文本指定的文件并复制到文件,包括使用功能。

范例1
假设您有一个标准的头文件,所谓的“ header.php ” 。包括头文件在一个页面上,使用包括( )函数,就像这样:

<html>
<body><?php include("header.php"); ?><h1>Welcome to my home page</h1><p>Some text</p></body>
</html>

示例2
现在,让我们假设我们有一个标准的菜单文件,应当使用的所有网页(包括文件通常有。 “ PHP的”扩展) 。看看“ menu.php ”文件如下:

<html>
<body><a href="http://www.w3schools.com/default.php">Home</a> |
<a href="http://www.w3schools.com/about.php">About Us</a> |
<a href="http://www.w3schools.com/contact.php">Contact Us</a>

这三个文件, “ default.php ” , “ about.php ”和“ contact.php ”大家都应该包括“ menu.php ”文件。以下是代码“ default.php ” :

<?php include("menu.php"); ?>
<h1>Welcome to my home page</h1>
<p>Some text</p>
</body>
</html>

如果你看看源代码的“ default.php ”在浏览器中,它将看起来就像这样:

<html>
<body>
<a href="default.php">Home</a> |
<a href="about.php">About Us</a> | 
<a href="contact.php">Contact Us</a>
<h1>Welcome to my home page</h1>
<p>Some text</p>
</body>
</html>

当然,我们也必须做同样的事情为“ about.php ”和“ contact.php ” 。通过使用包括文件,

您只需更新中的文字“ menu.php ”文件如果您决定重新命名或更改顺序的联系或添加其他网页的网站。

The require()

The require() 函数生成一个警告(但该脚本将继续执行) ,而需要( )函数生成一个致命的错误(和脚本执行后,将停止错误) 。

如果您加入了文件,包括( )函数和发生错误时,你可能得到一个错误信息类似下面的一个。

PHP代码:

<html>
<body>

<?php
include("wrongFile.php");
echo "Hello World!";
?>

</body>
</html>

 

error

Warning: include(wrongFile.php) [function.include]:
failed to open stream:
No such file or directory in C:homewebsitetest.php on line 5
Warning: include() [function.include]:
Failed opening 'wrongFile.php' for inclusion
(include_path='.;C:php5pear')
in C:homewebsitetest.php on line 5
Hello World!
 

请注意,声明的回音仍是执行!这是因为报警不停止执行脚本。

现在,让我们运行相同的例子与要求( )函数。

PHP代码:

 

 <html>
<body>

<?php
require("wrongFile.php");
echo "Hello World!";
?>

</body>
</html>

Warning: require(wrongFile.php) [function.require]:
failed to open stream:
No such file or directory in C:homewebsitetest.php on line 5
Fatal error: require() [function.require]:
Failed opening required 'wrongFile.php'
(include_path='.;C:php5pear')
in C:homewebsitetest.php on line 5
 
回声说法是不执行的,因为脚本执行停止后致命错误。

这是推荐使用的需要( )函数而不是包括( ) ,因为脚本不应该继续执行,如果文件丢失或命名错误。

PHP的日期 date() 函数

PHP的日期( )函数的格式时间戳一个更可读的日期和时间。

语法

date(format,timestamp)

参数说明
格式要求。指定格式的时间戳
时间任择。指定时间戳记。默认为当前的日期和时间(如时间戳)

 



PHP的日期-格式的日期
第一个参数中的日期( )函数指定如何格式化的日期/时间。它使用字母代表的日期和时间格式。以下是一些字母,可用于:

搭扣-这一天的一个月( 1月3 1日)
米-目前的一个月,作为一个数( 0 1-12)
Y -本年度在四位数
概述了所有的信件,可用于格式参数,可以发现在我们的PHP的日期范围。

其他字符,如“ / ” , “ 。 ”或“ -”也可以插入之间的信件,新增额外的格式:

 

<?php
echo date("Y/m/d");
echo "<br />";
echo date("Y.m.d");
echo "<br />";
echo date("Y-m-d");
?>
输出如下.
 
 2006/07/11
2006.07.11
2006-07-11
 

PHP的日期-添加时间戳
第二个参数中的日期( )函数指定一个时间戳记。此参数是可选的。如果您没有提供一个时间,目前的时间将被使用。

在我们的下一个例子我们将使用mktime ( )函数来创建一个时间戳的明天。

该mktime ( )函数返回的Unix时间戳为某一特定日期。

语法

mktime(hour,minute,second,month,day,year,is_dst)
 

去一天的将来,我们只需添加一个有一天论点mktime ( ) :

<?php
$tomorrow = mktime(0,0,0,date("m"),date("d")+1,date("Y"));echo "Tomorrow is ".date("Y/m/d", $tomorrow);
?>

 

 

 

 

输出如.

Tomorrow is 2006/07/12

 

PHP $_POST

在$_POST变量是用来收集价值的一种形式与方法= “后” 。

在$_POST变量
在$_POST变量是一个变量的数组名称和值发出的HTTP POST方法。

在$_POST变量是用来收集价值的一种形式与方法= “后” 。信息传送的一种形式与POST方法是别人看不见的,并没有任何限制的大量的信息传送。

例如

<form action="welcome.php" method="post">
Enter your name: <input type="text" name="name" />
Enter your age: <input type="text" name="age" />
<input type="submit" />
</form>

当用户点击“提交”按钮,该网址将不包含任何形式的数据,看起来就像这样:

http://www.w3schools.com/welcome.php
 

该“ welcome.php ”文件现在可以使用$ _POST变量赶上形式的数据(通知的姓名表单字段将自动键的ID中的$ _POST阵列) :

 

Welcome <?php echo $_POST["name"]; ?>.<br />
You are <?php echo $_POST["age"]; ?> years old!
 

为什么要使用的$ _POST ?
变量与HTTP发出后不显示的网址
变量没有长度限制
然而,由于变数不会显示在网址中,这是不可能的书签的网页。




$的数组变量
PHP的$_REQUEST数组变量包含的内容既$ _GET , $ _POST和$ _COOKIE 。

PHP的$_REQUEST数组变量可以用来获取结果数据形式发送的GET和POST方法。

例如

Welcome <?php echo $_REQUEST["name"]; ?>.<br />
You are <?php echo $_REQUEST["age"]; ?> years old!
[!--infotagslink--]

相关文章

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

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

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • 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
  • Windows批量搜索并复制/剪切文件的批处理程序实例

    这篇文章主要介绍了Windows批量搜索并复制/剪切文件的批处理程序实例,需要的朋友可以参考下...2020-06-30
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • BAT批处理判断服务是否正常运行的方法(批处理命令综合应用)

    批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。这篇文章主要介绍了BAT批处理判断服务是否正常运行(批处理命令综合应用),需要的朋友可以参考下...2020-06-30
  • 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