php文件操作的简单例子

 更新时间:2016年11月25日 17:34  点击:1446
这里讲的文件操作主要是讲php获取文件的主要信息,判断文件的性质,获取文件名和目录名等哦。下面看三个实例
 代码如下 复制代码

//获取文件的主要信息。
$file = "data.txt";

if(is_dir($file))
{
    echo "文件 $file 是个目录";
    echo "<br/>";
}
else
{
    echo "文件 $file 不是目录";
    echo "<br/>";
}

if(is_file($file))
{
    echo "文件 $file 是一个普通文件";
    echo "<br/>";
}

if(is_readable($file))
{
    echo "文件 $file 是可读的";
    echo "<br/>";
}
else
{
    echo "文件 $file 是不可读的";
    echo "<br/>";
}

if(is_writeable($file))
{
   echo "文件 $file 是可写的";
   echo "<br/>";
}
else
{
   echo "文件 $file 是不可写的";
   echo "<br/>";
}
//判断文件的性质。
$path = "/home/prog/php/sayhello.php";

$file_name = basename($path);
$dir_name = dirname($path);

echo "完整路径:".$path;
echo "<hr>";
echo "<br/>";

echo "其中目录名为:".$dir_name;
echo "<br/>";
echo "其中文件名为:".$file_name;
echo "<br/>";
//获取文件名和目录名。
$file = "data.txt";
$dir = "info/newdata";

if(file_exists($file))
{
    echo "当前目录中,文件".$file."存在";
    echo "<br/>";
}
else
{
     echo "当前目录中,文件".$file."不存在";
     echo "<br/>";
}
echo "<br/>";
echo "<hr>";
echo "<br/>";

if(file_exists($dir))
{
    echo "当前目录下,目录".$dir."存在";
    echo "<br/>";
}
else
{
     echo "当前目录下,目录".$dir."不存在";
     echo "<br/>";
}

本章介绍一个基于文本的简易BLOG系统,当然我们可以利用这款blog系统的开发,很好的理解php网站开发原理了,其实网站开发容易于博客开哦,下面来看功能模块。

  post.php  读文件并显示日志内容的php程序。
  page.html  显示日志文章的html文档。
  style.css教程  页面显示效果的css代码。
  add.php  添加blog文章的php程序。
  config/auth.php 用户名和密码配置文件。
  index.php  blog首页程序。
  edit.php  编辑blog文章的程序。
  delete.php  删除blog文章的程序。
  archives.php 归档显示blog文章的程序。
  logout.php  退出登录的程序。

 */
  //post.php  读文件并显示日志内容的php程序。
 

 代码如下 复制代码

<?php
if(!isset($_get['entry']))
{
    echo '请求参数错误';
    exit;
}

$post_data = array();

$path = substr($_get['entry'],0,6);             //日志存储目录
$entry = substr($_get['entry'],7,9);            //日志文件名称
$file_name = 'contents/'.$path.'/'.$entry.'.txt';

if(file_exists($file_name))
{
    $fp = @fopen($file_name, 'r');
    if($fp)
    {
        flock($fp, lock_sh);
        $result = fread($fp, filesize($file_name)*100);
    }
    flock($fp, lock_un);
    fclose($fp);
}

$content_array = explode('|', $result);

$post_data['subject'] = $content_array[0];
$post_data['date'] = date('y-m-d h:i:s',$content_array[1]);
$post_data['content'] = $content_array[2];
//print_r($post_data);
?>

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html>
<head>
<title>基于文本的简易blog</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>

<div id="container">
 <div id="header">
  <h1>我的blog</h1>
 </div>
 <div id="title">
  ----i have dream....
 </div>
 <div id="left">
  <div id="blog_entry">
   <div id="blog_title"><? echo $post_data['subject'];?></div>
   <div id="blog_body">
    <div id="blog_date"><? echo $post_data['date'];?></div>
    <? echo $post_data['content'];?>
   </div><!--blog_body-->
  </div><!--blog_entry-->
 </div>
 
 <div id="right">
        <div id="sidebar">
            <div id="menu_title">关于我</div>
            <div id="menu_body">www.111cn.net</div>
        </div>
    </div>
 
 <div id="footer">
  copyright 2007
 </div>
</div>

<body>
</html>

  //page.html  显示日志文章的html文档。
 

 代码如下 复制代码

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html>
<head>
<title>blog</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>

<div id="container">
    <div id="header">
        <h1>我的blog</h1>
    </div>
    <div id="title">
        ----i have a dream....
    </div>
    <div id="left">
        <div id="blog_entry">
            <div id="blog_title">日志文章标题</div>
            <div id="blog_body">
                <div id="blog_date">2007-12-01</div>
                日志文章内容
            </div>
        </div>
    </div>
   
    <div id="right">
        <div id="sidebar">
            <div id="menu_title">关于我</div>
            <div id="menu_body">www.111cn.net</div>
        </div>
    </div>
   
    <div id="footer">
        copyright 2007
    </div>
</div>

<body>
</html>
 

 

下面提供了三款日期验证正则表达式哦,你可以根据自己的需选择下面三种中期其中一种日期验证方法

 

 代码如下 复制代码

$arr_date = array(
'2004-06-01',
'2005-0x-10',
'12-12-12',
'2000-12-25 00:10:20',
'2007-12-05'
);

for ($i=0; $i<5; ++$i)
{
 $date = $arr_date[$i];
 if(ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs))
 {
     echo "日期字符串$date 符合'yyyy-mm-dd'格式:";
     echo "$regs[1].$regs[2].$regs[3]<br/><br/>";
 }
 else
 {
     echo "<b>日期字符串$date 不符合'yyyy-mm-dd'格式的日期字符串</b><br/><br/>";
 }
}

//匹配yyyy-mm-dd

 代码如下 复制代码

(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)

 

 

//2:匹配dd/mm/yyyy 或匹配d/m/yyyy

 

 代码如下 复制代码
'/^(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|'
                                .'[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})/((([13578]|1[2])|(0[13578]|1[02])'
                                .'/((0[1-9]|[12][0-9]|3[01])|([1-9]|[12][0-9]|3[1])))|(((0[469]|11)|([469]|11))'
                                .'/((0[1-9]|[12][0-9]|30)|([1-9]|[12][0-9]|30)))|'
                                .'((02|2)/((0[1-9]|[1][0-9]|2[0-8])|([1-9]|[1][0-9]|2[0-8]))'
                                .')))|((([0-9]{2})((0[48]|[2468][048]|[13579][26])|([48]|[2468][048]|[13579][26]))|'
                                .'((((0[48])|([48]))|[2468][048]|[3579][26])00))/(02|2)/29)$/';

 

php教程 ajax 实例与ajax 教程
   1创建xmlhttprequest对象的网页特效程序。
  2   发出异步请求的javascript程序。
  3   处理服务器响应的javascript程序。

*/

 //1创建xmlhttprequest对象的javascript程序。

 代码如下 复制代码

 function getxmlhttprequest()
{
    var xmlhttp=null;
    try
    {
        xmlhttp = new xmlhttprequest();                      //对于firefox等浏览器
    }
    catch(e)
    {
        try
        {
            xmlhttp = new activexobject("msxml2.xmlhttp");   //对于ie浏览器
        }
        catch (e)
        {
            try
            {
                xmlhttp = new activexobject("microsoft.xmlhttp");
            }
            catch(e)
            {
                xmlhttp = false;
            }           
        }
    }

return xmlhttp;
}

 


  //2   发出异步请求的javascript程序。
  
 

 代码如下 复制代码

function sendrequest()
{
    //获取页面表单的文本框name的值
    var user_name = document.getelementbyid("name").value;

    if((user_name == null) || (user_name == ""))
        return;
   
    xmlhttp = getxmlhttprequest();
    if(xmlhttp == null)
    {
        alert("浏览器不支持xmlhttprequest!");
        return;
    }

    var url = "getusername.php";               //构建请求的url地址
    url = url + "?name=" + user_name;
   
    xmlhttp.open("get", url, true);            //使用get方法打开一个到url的连接,为发出请求做准备
   
    //设置一个函数,当服务器处理完请求后调用,该函数名为updatepage
    xmlhttp.onreadystatechange = updatepage;
    xmlhttp.send(null);                        //发送请求
}
 

// 3   处理服务器响应的javascript程序。
 

 代码如下 复制代码
function updatepage()
{
    if(xmlhttp.readystate == 4)
    {
        var response = xmlhttp.responsetext;
        document.getelementbyid("userinfo").value = response;
    }
}
本款php ajax应用实例是一款利用ajax+php调用城市二级联动菜单,这样我们可以实时的根据数据库内容更新了。
 代码如下 复制代码

<html>
<head>
<title>ajax+php无刷新二级联动菜单的应用实例</title>

<script language="网页特效">
var xmlhttp = null;

function getxmlhttprequest()
{
    var xmlhttp=null;
    try
    {
        xmlhttp = new xmlhttprequest();
    }
    catch(e)
    {
        try
        {
            xmlhttp = new activexobject("msxml2.xmlhttp");
        }
        catch (e)
        {
            try
            {
                xmlhttp = new activexobject("microsoft.xmlhttp");
            }
            catch(e)
            {
                xmlhttp = false;
            }           
        }
    }

return xmlhttp;
}

function sendrequest()
{
    var prov_name = document.getelementbyid("province").value;

    if((prov_name == null) || (prov_name == ""))
        return;
   
    xmlhttp = getxmlhttprequest();
    if(xmlhttp == null)
    {
        alert("浏览器不支持xmlhttprequest!");
        return;
    }

    var url = "www.111cn.net.php";
    url = url + "?prov=" + prov_name;

    xmlhttp.open("get", url, true);
    xmlhttp.onreadystatechange = updatepage;
    xmlhttp.send(null);
}

function updatepage()
{
    if(xmlhttp.readystate == 4 && xmlhttp.status == 200)
    {
        var response = xmlhttp.responsetext;
        document.getelementbyid("city").innerhtml = response;
    }
}
</script>

<head>

<body>
<h3>请选择一个省(自治区):</h3>

<form action="www.111cn.net.php">
    <div>
    <select id="province" onchange="sendrequest()">
        <option value="">请选择一个省(自治区)</option>
        <option value="ah">安徽</option>
        <option value="fj">福建</option>
        <option value="gs">甘肃</option>
        <option value="gd">广东</option>
        <option value="gx">广西</option>
        <option value="gz">贵州</option>
        <option value="hn">海南</option>
        <option value="hb">河北</option>
        <option value="hh">河南</option>
        <option value="hl">黑龙江</option>
    </select>
    </div>
</form>

<div id="city">
</div>

</body>
</html>

www.111cn.net.php代码

 代码如下 复制代码

<?php
$city_arr = array(
"ah"=>"合肥",
"fj"=>"福州",
"gs"=>"兰州",
"gd"=>"广州",
"gx"=>"南宁",
"gz"=>"贵阳",
"hn"=>"海口",
"hb"=>"石家庄",
"hh"=>"郑州",
"hl"=>"哈尔滨"
);

if(empty($_get['prov']))
{
    echo iconv("gb2312","utf-8",'<font color="red">您没有选择省(自治区)</font>');
}
else
{
    $prov = $_get['prov'];
    $city = $city_arr[$prov];
    echo iconv("gb2312","utf-8",'所选省(自治区)省会(首府)为:'.$city);
}
?>

[!--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
  • Linux下PHP安装curl扩展支持https例子

    安装curl扩展支持https是非常的重要现在许多的网站都使用了https了,下面我们来看一篇关于PHP安装curl扩展支持https例子吧。 问题: 线上运行的lamp服务器,默认yu...2016-11-25
  • 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无刷新利用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
  • ant design中upload组件上传大文件,显示进度条进度的实例

    这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29
  • C#使用StreamWriter写入文件的方法

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • php实现文件下载实例分享

    举一个案例:复制代码 代码如下:<?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name...2014-06-07
  • 查找php配置文件php.ini所在路径的二种方法

    通常php.ini的位置在:复制代码 代码如下:/etc目录下或/usr/local/lib目录下。如果你还是找不到php.ini或者找到了php.ini修改后不生效(其实是没找对),请使用如下办法:1.新建php文件,写入如下代码复制代码 代码如下:<?phpe...2014-05-31