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

林继 PHP 技术 5,300 共写了2069个字 (2006-09-07 15:39:57) 没有评论 打印 扫描二维码 百度已收录

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

第一节 从文件获取数据

例一 文本文件

PHP代码:

  1. <? 
  2. $filename = "data.dat"; 
  3. $fd = fopen ($filename, "r"); 
  4. $contents = fread ($fd, filesize ($filename)); 
  5. fclose ($fd); 
  6. echo $contents; 
  7. ?>

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

例二 图形文件

PHP代码:

  1. <? 
  2. $filename = "winxp.gif"; 
  3. $fd = fopen ($filename, "r"); 
  4. $contents = fread ($fd, filesize ($filename)); 
  5. fclose ($fd); 
  6. echo $contents; 
  7. ?>

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

例三 多条数据

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

  1. data1.dat
  2. 引用
  3. 张三
  4. 李四
  5. 王虎
  6. 猴子
  7. <? 
  8. $filename = "data1.dat"; 
  9. $contents = file($filename); 
  10. ?> 
  11. <TABLE border=1><Tr> 
  12. <? 
  13. for ($i = 0;$i < count($contents);$i++) 
  14. { 
  15. echo "<Td>$contents[$i]</Td>"; 
  16. }  
  17. ?> 
  18. </Tr> 
  19. </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代码:

  1. <? 
  2.    /* 连接选择数据库 */ 
  3.    mysql_connect("mysql_host", "mysql_user", "mysql_password"); 
  4.    mysql_select_db("my_database"); 
  5.  
  6.    /* 执行 SQL 查询 */ 
  7.    $query = "SELECT * FROM my_table"; 
  8.    $result = mysql_query($query); 
  9. ?> 
  10. <TABLE border=1><Tr> 
  11. <?  
  12. for ($i = 0;$i < mysql_num_rows($result);$i++) 
  13. { 
  14. echo "<Td>"; 
  15. echo mysql_result($result, $i, 'name'); 
  16. echo "</Td>"; 
  17. } 
  18.  
  19. ?> 
  20. </Tr> 
  21. </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等等。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >