目录
文件编程
首页 php教程 php手册 php 文件编程

php 文件编程

Jun 06, 2016 pm 07:54 PM
php 必要性 我们 文件 编程 网站开发

文件编程 文件编程 文件编程的必要性 ① 在网站开发中,我们要使用到文件的上传和下载,就是经典的文件编程使用. 文件的基本概念 文件就是保存数据(二进制数据,文本数据),在程序员的角度看,文件就是数据来源. 文件流 在对文件进行操作的过程中,我们是以

 

文件编程

文件编程

 文件编程的必要性

① 在网站开发中,我们要使用到文件的上传和下载,就是经典的文件编程使用.

 文件的基本概念

 文件就是保存数据(二进制数据,文本数据),在程序员的角度看,文件就是数据来源.

文件流

 在对文件进行操作的过程中,我们是以的概念来操作.


从该图我们可以看出. 如果你的数据是从程序(内存) 向 文件(磁盘) 流动,则我们称为 输出流. , 反之, 则称为输入流.

 php 文件操作的基本用法

 ① 如何获取文件的信息.

 1.1 fopen 打开文件

 基本用法

fopen(文件路径[相对路径/绝对路径], 打开模式);

 模式:


代码:

     //1文件信息

    //打开文件

       $file_path="test.txt";

    //该函数返回一个指向文件的指针

       if($fp=fopen($file_path,"r")){

              $file_info=fstat($fp);

              echo "

";</p>
<p>              print_r($file_info);</p>
<p>              echo "
";

        //取出看看

       echo"
文件大小是 {$file_info['size']}";

       echo"
文件上次修改时间 ".date("Y-m-dH:i:s)",$file_info['mtime']);

       echo"
文件上次访问时间 ".date("Y-m-dH:i:s)",$file_info['atime']);

       echo"
文件上次change时间 ".date("Y-m-dH:i:s)",$file_info['ctime']);

       }else{

       echo "打开文件失败";

       }

    //关闭文件!!!很重要

       fclose($fp);

    //***第二种方式获取文件信息

       echo"
".filesize($file_path);

       echo"
".date("Y-m-d H:i:s",fileatime($file_path));

       echo "
".filectime($file_path);

       echo"
".filemtime($file_path);

?>

 

fstat函数

该函数返回有几个信息

    [atime]=> 1316831240    【该文件上一次被访问的时间】

    [mtime]=> 1316831237     【该文件上一次内容被修改时间】

    [ctime]=> 1316831228     【该文件上一次 文件所有者/文件所在组 修改】

 ② 如何读文件

 

     //读文件

     //1.打文件

    //打开文件

       $file_path="test.txt";

    //该函数返回一个指向文件的指针

    //先判断文件是否存在

     //************************第一种读取方法********************

/*    if(file_exists($file_path)){

       //打开文件

              $fp=fopen($file_path,"a+");

       //读内容,并输入

       //**** 第一种读取方法**************

              $con=fread($fp,filesize($file_path));

       echo "文件的内容是:
";

       //在默认情况下,我们得到内容输出到网页后,不会换行,因为网页

       //不认rn 是换行符, rn ->

              $con=str_replace("rn","
",$con);

              echo $con;

       }else{

       echo "文件不存在!";

       }

        fclose($fp);*/

     //*************第二种读取方法,一个函数****************

 /*    $con=file_get_contents($file_path);

     //替换

       $con=str_replace("rn","
",$con);

       echo $con;*/

     //*************第三种读取方法,循环读取(对付打文件)*********

        $fp=fopen($file_path,"a+");

     //我们设置一次读取1024个字节

       $buffer=1024;

       $str="";

    //一边读,一边判断是否到达文件末尾

       while(!feof($fp)){

       //读

              $str=fread($fp,$buffer);

      

            

       }

       $str=str_replace("rn","
",$str);

              echo $str;

       fclose($fp);

 ?>

 文件读取的实际用法

我们连接数据库的时候,可以把用户名,密码,主机,配置到一个外部文件.,然后再php运行时,实时的获取

 db.ini

host=192.168.1.23

user=admin

password=12345

dbname=test

 

  

     $arr1=parse_ini_file("db.ini");

      print_r($arr1);

    

?>

 ③ 如何写文件

     //如何写文件

     //1.传统的方法

 /*    $file_path="test.txt";

        if(file_exists($file_path)){

       //如果是追加内容,则使用a+append

       //如果是全新的写入到文件 ,则使用 w+write

              $fp=fopen($file_path,"w+");

       $con="rn你好!";

              for($i=0;$i<10;$i++){

                     fwrite($fp,$con);

              }

        }else{

    

       }

    echo "添加ok";

       fclose($fp);*/

     //2.第二种方式写入文件

       $file_path="test.txt";

    $con="北京你好!rn";

       for($i=0;$i<10;$i++){

       $con.="北京你好!rn";

       }

    

      file_put_contents($file_path,$con,FILE_APPEND);

     

       echo "ok";

?>

 

④ 拷贝一个文件(图片)

 

     //拷贝图片

    $file_path=iconv("utf-8","gb2312","C:\Documentsand Settings\All Users\Documents\My Pictures\示例图片\Winter.jpg");

       if(!copy($file_path,"d:\bb.jpg")){

              echo "error";

       }else{

              echo "ok";

       }

?>

 

⑤ 文件的下载任务...

参看我们的http 课程.

 

补充

⑥ 文件创建,删除/ 文件夹的创建和删除.

 

     //文件及文件夹的创建和删除.

     //1.创建文件夹 d:/shunping

   

/*    if(!is_dir("d:/shunping2")){

              if( mkdir("d:/shunping2")){

           echo "创建文件夹ok";

              }else{

           echo "创建文件夹err";

              }

       }else{

       echo "该文件夹有了"; 

       }*/

 

 

    //2.能不能一次性多个文件(层级),创建ok

/*    $path="d:/shunping3/aaa/bbb/cccc/ddd";

       if(!is_dir($path)){

              if( mkdir($path,0777,true)){

           echo "创建文件夹ok";

              }else{

           echo "创建文件夹err";

              }

       }else{

       echo "该文件夹有了"; 

       }*/

 

    //3.删除文件夹

    //如果文件夹下有文件,或者目录,均不能删除ok

/*    if(rmdir("d:/shunping2")){

       echo "删除文件夹ok";

       }else{

              echo "err";

       }*/

 

    //4.文件的创建

    //在d:/shunping3 目录下,创建一个文件并写入hello

/*    $file_path="d:/shunping3/aa.txt";

       $fp=fopen($file_path,"w+");

 

       fwrite($fp,"hello,world");

 

       fclose($fp);

 

    echo "创文件ok";*/

 

    //5.删除文件

 

       $file_path="d:/shunping3/aa.txt";

       if(is_file($file_path)){

              if(unlink($file_path)){

           echo "删除ok";

              }else{

           echo "删除error";

}

}else{

echo "文件不存在";

}

?>

 

php文件编程实际运用-文件上传

 

代码:

upload.php这是一个上传文件的界面.

如果要上传文件,我们需要把

enctype=” multipart/form-data” method=post>

上传文件

 

 

 

 

代码:

 

 

 

上传文件需要考虑的细节:

(1), 如何控制用户上传的文件大小 < 2m

(2), 如何控制用户上传的文件类型

(3), 如何防止用户图片覆盖问题

(4), 如何防止同一个用户上传的文件名相同问题

upload.php

      

             

      

      

   

 

             

             

     

文件上传

      

      

      

      

     

             

请填写用户名:
请简单介绍该文件
请选择你要上传文件:

             

      

 

 

uploadprocess.php

 

 

 

    //1.接收提交文件的用户

       $username=$_POST['username'];

       $fileintro=$_POST['fileintro'];

 

       //echo $username.$fileintro;

 

    //我们这里需要使用到 $_FILE

/*    echo "

";</p>
<p>       print_r($_FILES);</p>
<p>       echo "
";*/

      

    //获取文件的大小

       $file_size=$_FILES['myfile']['size'];

 

       if($file_size>2*1024*1024){

       echo "文件过大,不能上传大于2m文件";

              exit();

       }

 

    //获取文件的类型

       $file_type=$_FILES['myfile']['type'];

       if($file_type!='image/jpg' &&$file_type!='image/pjpeg'){

       echo "文件类型只能是 jpg的";

              exit();

       }

 

    //判断是否上传ok

       if(is_uploaded_file($_FILES['myfile']['tmp_name'])){

       //把文件转存到你希望的目录

              $uploaded_file=$_FILES['myfile']['tmp_name'];

             

       //我们给每个用户动态的创建一个文件夹

              $user_path=$_SERVER['DOCUMENT_ROOT']."/file/up/".$username;

             

              //$user_path=iconv("utf-8","gb2312",$user_path);

       //判断该用户是否已经有文件夹

              if(!file_exists($user_path)){

                    

                     mkdir($user_path);

              }

              //$move_to_file=$user_path."/".$_FILES['myfile']['name'];

              $file_true_name=$_FILES['myfile']['name'];

              $move_to_file=$user_path."/".time().rand(1,1000).substr($file_true_name,strrpos($file_true_name,"."));

              if(move_uploaded_file($uploaded_file,iconv("utf-8","gb2312",$move_to_file))){

           echo $_FILES['myfile']['name']."上传ok";

              }else{

           echo "上传失败";

              }

       }else{

       echo "上传失败";

       }

    ?>

php绘图技术

 

php绘图坐标体系介绍:

 php绘图的基本步骤

① 创建画布

② 画出各种图形

③ 输出图形(1. 输出到页面 2. 输出到一个文件,创建新图片)

④ 销毁图形(释放内存资源.)

 

? 如果要使用php来绘制图片,则需要启用 gd2库

在php.ini文件中

extension=php_gd2.dll

 

? 我们网站开发,常用的图片格式(jpg/jpeg , gif , png bmp WBMP , XBM)

jpg/jpeg 图片网站中用的多,压缩率高.图片清晰.图片比较小

gif : 支持动画. 它支持256色, 因为大量gif 文件 flash.

png: 支持无损压缩,高保真. 文件比较大

 

php绘图基本用法


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

您如何在PHP中解析和处理HTML/XML? 您如何在PHP中解析和处理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示了如何使用PHP有效地处理XML文档。 XML(可扩展的标记语言)是一种用于人类可读性和机器解析的多功能文本标记语言。它通常用于数据存储

php程序在字符串中计数元音 php程序在字符串中计数元音 Feb 07, 2025 pm 12:12 PM

字符串是由字符组成的序列,包括字母、数字和符号。本教程将学习如何使用不同的方法在PHP中计算给定字符串中元音的数量。英语中的元音是a、e、i、o、u,它们可以是大写或小写。 什么是元音? 元音是代表特定语音的字母字符。英语中共有五个元音,包括大写和小写: a, e, i, o, u 示例 1 输入:字符串 = "Tutorialspoint" 输出:6 解释 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。总共有 6 个元

编码的关键:为初学者释放 Python 的力量 编码的关键:为初学者释放 Python 的力量 Oct 11, 2024 pm 12:17 PM

Python通过其易学性和强大功能,是初学者的理想编程入门语言。其基础包括:变量:用于存储数据(数字、字符串、列表等)。数据类型:定义变量中数据的类型(整数、浮点数等)。运算符:用于数学运算和比较。控制流:控制代码执行流(条件语句、循环)。

使用 Python 解决问题:作为初学者,解锁强大的解决方案 使用 Python 解决问题:作为初学者,解锁强大的解决方案 Oct 11, 2024 pm 08:58 PM

Python 使初学者能够解决问题。其用户友好的语法、广泛的库以及变量、条件语句和循环等功能可实现高效的代码开发。从管理数据到控制程序流程和执行重复任务,Python 提供了

我后悔之前不知道的 7 个 PHP 函数 我后悔之前不知道的 7 个 PHP 函数 Nov 13, 2024 am 09:42 AM

如果您是一位经验丰富的 PHP 开发人员,您可能会感觉您已经在那里并且已经完成了。您已经开发了大量的应用程序,调试了数百万行代码,并调整了一堆脚本来实现操作

揭秘 C:为新程序员提供一条清晰简单的道路 揭秘 C:为新程序员提供一条清晰简单的道路 Oct 11, 2024 pm 10:47 PM

C是一种初学者学习系统编程的理想选择,它包含以下组件:头文件、函数和主函数。一个简单的C程序可以打印“HelloWorld”,需要包含标准输入/输出函数声明的头文件,并在主函数中使用printf函数来打印。通过使用GCC编译器可以编译和运行C程序。掌握基础后,可以继续学习数据类型、函数、数组和文件处理等主题,以成为熟练的C程序员。

See all articles