首页 » 建站技术 » PHP 技术 » 浏览内容

[Monkey’s PHP教程] 第四章 获取外部数据


2006-09-07 15:39:57 5,240 0 发表评论 字体: 作者:C.K.
标签: 教程

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

From:http://lesson.phpso.com/article.php?1446.html

第一节 从文件获取数据

例一 文本文件

PHP代码:

<?
  • $filename = "data.dat";
  • $fd = fopen ($filename, "r");
  • $contents = fread ($fd, filesize ($filename));
  • fclose ($fd);
  • echo $contents;
  • ?>
  • 函数介绍:
      fopen():打开文件,参数为文件名及打开方式,打开的文件可以是本地的也可以是其他网站的,可以使用http://协议或者ftp://协议。返回文件指针变量。
      fread():读取文件内容,参数为相应的文件指针变量及读取的字节数。
      filesize():返回文件的大小,参数为文件名。
      fclose():关闭文件,参数为相应的文件指针变量。
      
      此例中,我们只是用了一个PHP标识。我们先定义了一个变量$filename代表文件名,表示读取“data.dat”文件。然后用fopen() 函数打开此文件,“r”表示进行读取操作。然后我们用fread()函数把文件的内容给变量$contents,读取的字节数由filesize()指定也就是全部内容。最后我们用echo 显示此变量,文件中的内容便显示出来了。如果我们去修改“data.dat”中的内容,此页面的内容也会随之改变。

    例二 图形文件

    PHP代码:

    <?
  • $filename = "winxp.gif";
  • $fd = fopen ($filename, "r");
  • $contents = fread ($fd, filesize ($filename));
  • fclose ($fd);
  • echo $contents;
  • ?>
  •   此例无需多说,我们只把例一中的$filename改成了一个GIF文件,你认为会显示出什么呢?乱码?No!而是图片本身。此例显示了PHP的多适应性。这样我们就可以用HTML中的IMG标识把此文件作为图片去调用,如“”(此例文件名为Sample7.php)。

    例三 多条数据

    函数介绍:
      file():专门读取文本文件的函数,将文本文件的每一行作为数组的每一项返回,参数为文件名。
      count():返回数组的条目数,参数是相应的数组。

    data1.dat
  • 引用
  • 张三
  • 李四
  • 王虎
  • 猴子
  • <?
  • $filename = "data1.dat";
  • $contents = file($filename);
  • ?>
  • <TABLE border=1><Tr>
  • <?
  • for ($i = 0;$i < count($contents);$i++)
  • {
  • echo "<Td>$contents[$i]</Td>";
  • }  
  • ?>
  • </Tr>
  • </TABLE>
  •   此例中我们事先提供的文本文件“data1.dat”的内容如右图,一个姓名一行。然后,我们用file()函数将此文件内容全部读出,生成一个数组$contents,文件中的每一行对应数组中的每一项。然后我们在用< TABLE >标识当中加入PHP标识,并用PHP显示< TABLE >中的< TD >标识,同时用循环语句在< TD >标识中显示数组中的每一项。这样,我们成功的获取了data1.dat的内容并显示了出来。

    第二节 由数据库中获取数据

      如果我们用文本文件作为数据,只适合对小型的数据,不适合对大型数据的访问。同时,文本数据也不易修改。在访问大型数据时,我们都用数据库作为动态的数据存储源,并配合数据库的通用SQL语法进行读取和修改。PHP支持的数据库种类很多,MySQL和ODBC是PHP内置的数据接口。MySQL支持的平台很多,一方面由于是PHP内置、另一方面MySQL有着极高的数据访问速度,因此它与PHP大多被称为最佳拍档!
      用MySQL举例。现在,我们有一个数据库my_database,此数据库中有一个数据库表格my_table,此表格仅有一列字段name,name字段对应的数据为“张三、李四、王虎、猴子”。

    PHP代码:

    <?
  •    /* 连接选择数据库 */
  •    mysql_connect("mysql_host", "mysql_user", "mysql_password");
  •    mysql_select_db("my_database");
  •  
  •    /* 执行 SQL 查询 */
  •    $query = "SELECT * FROM my_table";
  •    $result = mysql_query($query);
  • ?>
  • <TABLE border=1><Tr>
  • <?  
  • for ($i = 0;$i < mysql_num_rows($result);$i++)
  • {
  • echo "<Td>";
  • echo mysql_result($result, $i, 'name');
  • echo "</Td>";
  • }
  •  
  • ?>
  • </Tr>
  • </TABLE>
  • 函数介绍:
      mysql_connect():PHP中MySQL的接口函数,用于连接MySQL服务器,参数为服务器地址、用户名及密码。
      mysql_select_db():打开服务器中相应的数据库。
      mysql_query():执行相应的SQL语句,通过它可以对数据库进行多种操作。
      mysql_num_rows():返回相应SQL语句返回结果中数据的条数。
      mysql_result():返回相应SQL语句返回结果中对应字段及对应行所在的数据值。
      此例中我们直接调用了PHP内置的MySQL函数,用mysql_connect()连接数据库,用mysql_select_db()调用相应的数据库。然后用SQL语句“Select * from my_table”返回my_table表格中的数据给$result。最后用循环语句同样的在< TABLE >标识中由上到下显示name字段的值,显示结果和上节例三是一样的,不同之处是我们读取的是MySQL数据库中的数据。

       当然PHP的MySQL函数中获取数据的函数组合有很多种,本例只讲解了其中的一种。

    最常用的SQL语句:
      Select 字段 from 表格 where 条件:读取相应的表格数据。
      Update 表格 Set 字段=值,… where 条件:更新表格中的数据。
      Insert into 表格 (字段,…) values (值,…):表格中增加一个数据。
      Delete from 表格 where 条件:删除表格中的数据。
      与MySQL不同的是如果你想调用SQL Server的数据库,就要引用PHP提供的php_mssql.dll文件,并利用此文件提供的函数。Oracle8调用php_oci8.dll或者php_oracle.dll等等。

    网站统计 Statistics

    • 创建时间: 2005年1月3日 距今5064 天
    • 日志总数: 2461
    • 评论总数: 630
    • 标签总数: 654
    • 链接总数: 273
    • 最后更新: 2018-8-31 17:57:04
    • 您是本站第 14156897 位访客

    广告区 Guǎng Gào