PHP 读写文件示例
PHP 中,数据通常都是存储在MySQL数据库当中的。但是有些时候,我们还是需要使用PHP读写一些本地文件。比如生成静态页面或者数据的本地缓存。
我们用一个简单的访问日志来演示一下fopen, fread, fwrite, fclose的用法。
每当我们访问此网页的时候,会显示出访问过的IP以及访问时间;同时当前的访问也会被记录,以便在下次访问的时候出现。
<?php
header("Content-Type: text/plain");
$visitorIP = $_SERVER["REMOTE_ADDR"];
$currentTime = date("H:i:s");
if( file_exists("./visitLog.log") ):
$logFileHandle = fopen("./visitLog.log", "r+");
$logFileSize = filesize("./visitLog.log");
$logContent = fread($logFileHandle, $logFileSize);
else:
$logFileHandle = fopen("./visitLog.log", "x+");
$logContent = "\r\tNo more Log";
endif;
echo "Visit Log:" . $logContent;
fwrite($logFileHandle, "\r\t" . $visitorIP . "\t" . $currentTime);
fclose($logFileHandle);
?>
首先我们需要使用 file_exists(filename) 函数来判断日志文件是否存在,如果不存在则创建;
随后如果存在,我们直接读取其所有内容,用 fread(fileHandle, sizeToRead) 来读取(如果需要读取所有的内容,sizeToRead 可以直接填写文件的大小);
读取完之后,我们在用 fwrite(fileHandle, contentToWrite) 来写如新的访问记录;
当所有的文件操作都完成后,我们用 fclose(fileHandle) 来关闭已打开的日志文件。
所有操作完成!
相关文档:
ip_contrl.php:
<?php
//include('header.php');
$ipaddr = $_POST['ipaddr'];
$netmask = $_POST['netmask'];
$gateway = $_POST['gateway'];
$mac = $_POST['mac'];
$dns1 = $_POST['dns1'];
$dns2 = $_POST['dns2'];
//echo "ipaddr=$ipaddr;netm ......
iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库。
1、下载libiconv函数库http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz;
2、解压缩tar -zxvf libiconv-1.9.2.tar.gz;
3、安装libiconv
#configure --prefix=/usr/local/iconv
#make
......
一.关于MySQL数据库服务器
MySQL服务器的默认编码是Latin1,不支持中文,那么如何修改MySQL的默认编码呢,下面以UTF-8为例来说明。
1、中止MySQL服务(bin/mysqladmin -u root shutdown)
2、在/etc/下找到my.cnf,如果没有就把MySQL的安装目录下的support-files目录下的my-medium.cnf复制到/etc/下并改名为my.cnf即可
......
最近一年以来,站长界有一个趋势: 很多站长转型做电子商务,或利用现有的网站资源整合电子商务。一方面由于网站越来越难做,而同时在经济大环境的影响下,网上购物却越为越吃香。转做网商或是结合网络购物是个不错的主意。
要做电子商务,你可以选择在淘宝,拍拍,Ebay或是最新的百度有啊,而如果要自己搭建平台,当然首 ......