php教程txt,怎么将txt改为php
php教程txt,怎么将txt改为php详细介绍
本文目录一览: php怎样修改txt文件
php修改txt文件的方法:首先利用fopen()函数打开txt文件;然后利用fputs()函数将内容写入打开的文件中。fputs()函数会在到达指定长度或读到文件末尾时停止运行。fputs() 函数将内容写入一个打开的文件中。函数会在到达指定长度或读到文件末尾(EOF)时(以先到者为准),停止运行。(推荐教程:php图文教程)如果函数成功执行,则返回写入的字节数。如果失败,则返回 FALSE。语法:fputs(file,string,length)参数:file 必需。规定要写入的打开文件。 string 必需。规定要写入打开文件的字符串。 length 可选。规定要写入的最大字节数。(学习视频推荐:php视频教程)实现代码:$path="wifi_customer_settings.txt";$wifissid2=$_POST['wifissid'];$wifipwd2=$_POST['wifipwd'];$arr=array("wifiSSID=".$wifissid2,"","wifiPWD=".$wifipwd2);$fp=fopen($path, 'w');fputs($fp,$arr[0]);fputs($fp,$arr[1]);fputs($fp,$arr[2]);fclose($fp);
求一点PHP对TXT文件和文章的操作教程
PHP教程.安装PHP
安装PHP
本章将按下列步骤编译安装以下软件:
* Apache v.1.3.4 -- 世界上最流行的Web服务器。
* gcc v.2.8.1 -- 来源于GNU的C和C++编译器。
* MySQL v.3.22.16b-gamma -- 世界范围内许多人使用的数据库。
* PHP v.3.0.11 -- 本书所主要介绍的软件。从http://www.php.net(或此站点的镜象站点)直接下载可以得到较新的版本。本章的其它步骤仍然适用。
* expact -- 用于读取和处理XML文档的函数库。
* phplib -- 用于进行会话管理的PHP函数库。
* libiodbc -- 主要用于存取在非UNIX计算机中数据库的ODBC函数库。
* MyODBC -- PHP、iODBC和MySQL之间的函数库。
即便如此,本章也并不是介绍编译应用程序所需要的那些指令,而只是简单的进行描述。总之,本书的重点是介绍PHP语言,而不是C语言。每一个应用程序的编译对我来说都十分清楚,希望每个读者也能没有困难的进行编译。假如你确实碰到了一些问题,可以在某个IRC频道中有礼貌的询问,或者可以尝试使用新闻组(可以从http://www.dejanews.com访问)得到帮助来解决问题。然而,最好的帮助还是来自http://www.php.net 上的PHP邮件列表。
在开始编译过程之前,让我们先讨论一下如何从错误中恢复。在得到有关错误的帮助以后,可以采用以下的命令重新初始化源码目录:
* rm config.cache--几乎所有的Linux应用程序都使用configure命令来检查自己的系统,以寻找有关如何剪裁编译过程的信息。检查的结果将存贮在一个名为config.cache的文件中。如果移走此文件,将迫使配置程序从头开始重新检查系统。
* make distclean--所有的用C语言编写的Linux应用程序都是用make程序编译的。make程序会寻找每一个源文件,以确认是需要编译还是已经编译过的。make distclean命令可以“重置”所有的源程序,以便能重新编译它们。
* make clean--有的应用程序不支持make distclean命令,而用make clean命令来代替。make clean命令“重置”所有的源程序,以便能重新编译它们。
即使要安装的一些应用程序不支持以上的每个命令,但是试一下这些命令也不会有什么害处。
注意:Red Hat v5.2使用glibc库。如果用户从互联网中下载或更新在本章中安装的程序时,必须知道glibc的信息。使用者可以使用rpm -q glibc命令来查出已经安装的glibc库的版本号。在作者的系统中,使用rpm -q glibc命令将显示glibc-2.0.7.29。
2.1 基本概念
也许读者以前从没有编译过Linux应用程序,在这里介绍一些基本概念,以便在出现问题时有可能诊断出问题所在。
tar
tar,即tape archiver,它可以把几个文件组合成一个文件,并可以选择是否进行压缩。这个命令过去通常用来进行备份,以便使数据存储在磁带中。当tar文件被压缩时,它们有一个.gz的后缀;当tar文件没有压缩时,它们有一个.tar的后缀。
gcc
gcc 是GNU的C编译器。它的工作是把人可以看懂的源代码文件编译成机器可以读懂的目标文件。C源文件通常有.c的后缀名,目标文件通常有.o的后缀名。如果编译工作不能正常进行,就是碰到了一个编译期的错误,或者说:语法错误。在大多数情况下,不彻底的编译通常是编译器找不到一个或几个包含文件而产生的。包含文件都有一个.h的扩展名,通常用来定义不同的系统信息,以及将多个不同的.c文件所共有的信息收集在一起。
make
make是一个常用的工具程序,是用来帮助进行编译的。它的工作是用来只编译那些还没有编译过的源文件。编译.c文件将生成一个.o文件,如果.c文件比.o文件更新,也就是说到上次编译之前,源文件被编辑过,那么make将会重新编译.c文件。make指令一般是寻找一个Makefile文件,在这个文件中包含有一个或多个能执行的目标,例如,make clean会告诉make执行清除目标。
ld
ld是GNU的链接程序。它的工作是把所有的目标文件和库链接起来,创建一个单一的可执行文件。幸运的是,基本上不用手工运行这个程序,因为Makefile将会考虑到所有的编译细节。
ldconfig
ldconfig会为在多个库目录(在/etc/ld.so.conf中指定)中寻找共享库。共享库常被多个的应用程序使用,它们的文件名中的某个地方有.so,例如,libqt.so.1.42是一个共享库。在编译完毕之后,有可能需要在/etc/ld.so.conf文件中增加一个目录,并且运行ldconfig -v命令。
./configure
configure将会在计算机中寻找一些关键信息,例如,安装的是哪一种C编译器,包含文件在哪里等等。然后,configure将会按照所用的计算机配置重新修改Makefile文件。应该使用./configure来在当前目录下运行程序,以避免偶然运行$PATH环境变量中的目录下的其他程序。
符号连接
符号连接允许使用者可以为一个已经现有的文件指定另一个不同的名字。例如,使用者有可能想把一个名为libqt.so.1.42的文件称为libqt.so.1。符号连接基本上可以使用户把一个文件复制到另一个不同的目录下面,但事实上并没有真正复制此文件。第二个文件实例只是简单地指向第一个文件实例。使用符号连接至少可以有两点好处,第一点是符号连接可以节省硬盘空间,少到只有16字节;第二点有一点微妙,让我们先看一下一个名为libqt.so.1且指向libqt.so.1.42的符号连接。如果需要升级到libqt.so.1.88,该怎么办呢?用户只要简单地改变符号连接,使libqt.so.1指向libqt.so.1.88,而非libqt.so.1.42即可。这意味着涉及到libqt.so.1的程序将自动地使用这个库的新版本。按照惯例,符号连接常用于完整的发布版本号。换句话说,libqt.so.1.88和libqt.so.2.32应该有两个不同的动态连接(分别为libqt.so.1和libqt.so.2)。
2.2 编译前的准备工作
以下步骤将为系统做好编译前的准备工作。
1. mkdir /usr/local/src -- 我选用/usr/local树作为所安装应用程序的根目录。其他人可能选用/usr/opt、/opt或/var目录。为了更方便的按照本章中的指令操作,请选用/usr/local目录作为根目录。当编译完成以后,用户可以把这些文件复制到不同的目录中。
注意:为了能完成本章中的其它步骤,使用者必须具备root权限。
2. cd /usr/local/src--转到源文件目录下。
3. 下载以下文件(可以从http://www.mtolive.com/phpbook站点下载),或者从本书随机附带的光盘中,复制这些文件到/usr/local/src目录下:
. apache_1.3.4.tar.gz
. gcc-2.8.1.tar.gz
. mysql-3.22.16b-gamma.tar.gz
. php-3.0.11.tar.gz
. expat.tar.gz
. phplib.tar.gz
. libiodb-2.50.3
. myodbc-2.50.24-src
4. 使用tar命令解压缩以上文件。tar的x选项为解开选项,v选项将在屏幕上显示文档中解出来的文件名,z选项为解压缩选项,f选项用于在命令行中指定.tar文件名。
tar xvzf apache_1.3.4.tar.gz
tar xvzf gcc-2.8.1.tar.gz
tar xvzf mysql-3.22.16b-gamma.tar.gz
tar xvzf php-3.0.11.tar.gz
tar xvzf expat.tar.gz
tar xvzf phplib.tar.gz
5. gcc -v
确定系统中现有gcc的版本。如果你的系统不是v2.7.2.3,在下面的操作步骤中采用你的gcc版本号替换v.2.7.2.3。
6. cp `which gcc` /usr/bin/gcc-2.7.2.3
如果需要,把现有的gcc备份,以便以后使用。Linux的另一个优点是可以很容易在目录下存储一个程序的多个版本。
7. httpd -v
确定系统中的Apache的版本号。如果你的系统中的Apache不是v1.3.4,在下面的操作步骤中使用你的版本号替换v1.3.4。
8. mv `which httpd` /usr/sbin/httpd-1.3.4
如果需要,把现有的Apache备份,以便以后使用。
2.3 编译C编译器gcc
使用者应该安装、编译程序的第一个程序就是C编译器。随Red Hat v5.2附带的C编译器是gcc v2.7.2.3,由于它的版本比较低,以至于不能正确的编译PHP。然而gcc v.2.7.3可以用来编译版本较高的gcc v2.8.1。
编译新版本的gcc需要执行:
1. cd /usr/local/src/gcc-2.8.1
转到gcc的顶级目录下。
2. ./configure -prefix=/usr/local/gcc
运行配置程序,强制安装程序在后面的安装过程中使用/usr/local/gcc作为gcc的安装目录。
3. make bootstrap LANGUAGES="c c++" BOOT_CFLAGS="-g -02"
编译新的C和C++编译器。
4. make install LANGUAGES="c c++" BOOT_CFLAGS="-g -02"
安装新的C和C++编译器。
5. mv /usr/local/gcc/bin/gcc /usr/local/gcc/bin/gcc-2.8.1
把新的gcc编译器重新命名,使它的名字中含有版本号。
6. ln -s \
/usr/local/gcc/bin/gcc-2.8.1 \
/usr/bin/gcc-
给新编译过的gcc可执行文件创建一个符号连接/usr/bin/gcc。
7. gcc -v
显示gcc的版本号。如果编译和安装都正常的话,将显示v.2.8.1。
2.3 编译MySQL
现在来编译MySQL。在编译工作完成之后,就可以使用MySQL的应用程序来测试安装。
1. cd /usr/src/mysql-3.22.16a-gamma
转到MySQL的顶级目录下。
2. ./configure --prefix=/usr/local/mysql
运行配置程序,强制安装程序在后面的安装过程中使用/usr/local/mysql作为MySQL的安装目录。
3. make
编译MySQL。
4. make install
安装MySQL。
5. echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
将MySQL库所在的目录添加进配置文件中。这样,当Linux启动或者执行ldconfig命令时,将会在该配置文件中的目录里搜索库文件。
6. ldconfig -v | grep libmysqlclient
ldconfig命令能读取/etc/ld.so.conf文件中列出的目录,并对在那些目录里找到的库文件进行缓冲。grep命令在ldconfig命令的大量输出结果中查找MySQL库文件,并限定文本以类似下面方式进行显示:
libmysqlclient.so.6 => libmysqlclient.so.6.0.0.
7. echo "/usr/local/mysql/bin/safe_mysqld > /dev/null &" >> /etc/rc.d/rc.local
将MySQL启动指令添加到/etc/rc.d/rc.local文件中,这样每次启动Linux后就会自动运行MySQL。
8. ./scripts/mysql_install_db
初始化数据库。
9. /usr/local/mysql/bin/safe_mysqld > /dev/null &
启动MySQL服务器作为后台程序,为了测试安装,MySQL服务器必须启动。
10. ln -s \
/usr/local/mysql/bin/mysql \
/usr/bin/mysql
我比较喜欢在/usr/bin目录下为安装目录建立符号链接。这一方法减少了PATH环境变量中的目录数量,还可以将不希望其他人运行的MySQL工具程序隐藏起来,(例如,mysqladmin命令)。另一方法是将命令PATH="$PATH:/usr/local/mysql/bin"放在/etc/profile文件中。以上两种方法都很可以采用。
11. ln -s\
/usr/local/mysql/bin/mysqlshow \
/usr/bin/mysqlshow
该指令是让一般用户都可以运行mysqlshow命令。
2.4 测试MySQL
在继续Apache和PHP编译之前,首先来测试MySQL的安装是否成功。正式发布的MySQL带有许多有用的工具,这里我们只使用mysql和mysqlshow命令来进行测试。(如果对数据库不熟悉,请不用担心,诸如用户、表、记录等数据库的概念将在第六章“数据库和SQL”中加以介绍。)
mysqladmin的作用是建立和删除数据库、检查SQL的状态,以及其他一些用途。首先,通过检查版本号以确认是否已经正确安装了MySQL:
>PATH="usr/local/mysql/bin:$PATH"
>mysqladmin version
Ver 7.8 Distrib 3.22.16a-gamma, for pc-linux-gun on i686 TCX Datakonsult AB, by Monty
Server version 3.22.16a-gamma
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /tmp/mysql.sock
Uptime: 2 hours 30 min 39 sec
Threads: 1 Questions: 7 Slow queries: 0
Opens: 6 Flush tables: 1 Open tables: 2
可以用以下命令观看mysqladmin的所有功能.
mysqladmin --help | less
也许mysqlshow是更让人激动的工具,它能够列出数据库、表和字段名,如下所示:
清单2.1 mysqlshow--显示数据库,表和字段名清单
Page 18(第13行)-19(倒数第10行) , 清单 2.1
最后要介绍的MySQL工具是mysql,这个程序将深入到MySQL的中心,并且可以使你可以立刻在Linux命令行提示下执行SQL语句。在shell模式下运行mysql。
Page 19(倒数第5行)-20(倒数第5行)
小心:设置密码要使用password()函数。如果需要进一步了解,请查阅MySQL文档。
小心:在系统进入正常工作模式的时候,请选用一个比“password”更好的root密码。
2.5 编译iODBC和MyODBC
iODBC是一个实现开放性数据库互连(Open Database connectivity)协议的函数库。它主要用于连接运行于Microsoft Windows的数据库引擎。
1. cd /usr/local/src/libiodbc-2.50.3
转到iODBC目录。
2. ./configure \
--prefix=/usr/local/iodbc \
--with-iodbc-inidir=/usr/local/etc
运行配置程序,并强制设置iODBC为安装到目录/usr/local/iodbc下。此外,应确认odbc的初始化文件为/etc/odbc.ini。
3. make
4. make install
把库文件复制到目录/usr/local/iodbc/lib下,并且把包含文件复制到目录/usr/local/iodbc/include下。
5. cd /usr/local/src/myodbc-2.50.24
转到MyODBC目录下。
6. ./configure \
--prefix=/usr/local/myodbc \
--with-mysql-sources=/usr/local/mysql-3.22.16a-gamma \
--with-odbc-ini=/etc/odbc.ini \
--with-iodbc=/usr/local/iodbc
运行MyODBC配置程序。
7. make
8. make install
把库复制到目录/usr/local/myodbc/lib下。
2.6 编译PHP
编译PHP比编译以前的应用程序更复杂,这是因为编译PHP事实上是expat、Apache和PHP的组合。编译的结果将生成一个带有PHP的Apache版本。为了要编译PHP,可以采用以下步骤:
1. cd /usr/local/src/expat
转到expat目录。
2. make
编译expat源文件。
3. 把以下命令加到Makefile文件中,必须保证在输入ar和ralib之前使用的是Tab键。
libexpat.a: $(OBJS)
ar -rc $@ $(OBJS)
ranlib $@
4. make libexpat.a
把expat目标文件组合成库文件。
5. mv libexpat.a /usr/local/lib
PHP配置文件在/usr/local/lib目录下寻找libexpat.a文件。把libexpat.a文件移到PHP配置文件已知的目录下,可以为以后的操作减少麻烦。
6. cd /usr/local/src/php-3.0.11
转到PHP的顶级目录下。
7. mkdir /usr/local/include/xml
确认/usr/local/include/xml目录是存在的。
8. ln -s \
/usr/local/src/expat/xmltok/xmltok.h \
/usr/local/include/xml/xmltok.h
当能创建符号连接时,为什么还要复制呢?
9. ln -s \
/usr/local/src/expat/xmlparse.h \
/usr/local/include/xml/xmlparse.h
这是PHP为了能够正确地被编译所需要的另一个包含文件。
10. cd /usr/local/src/apache_1.3.4
转到Apache的顶级目录下。
11. ./configure -prefix=/usr/local/apache
运行配置程序,强制设置Apache安装目录为/usr/local/apache。
12. cd /usr/local/src/php-3.0.11
转到PHP的顶级目录下。
13. ./configure \
--with-apache=../apache_1.3.4 \
--with-iodbc=/usr/local/iodbc \
--with-mysql=/usr/local/mysql \
--with-xml
运行配置程序,并且告诉配置程序支持Apache、MySQL和XML。
14. make
编译PHP源文件。
15. make install
安装已编译的文件。PHP库文件会被放在Apache的模块目录下,这样可以在编译Apache时能找到它们。
16. cd /usr/local/src/apache_1.3.4
转到Apache的顶级目录下。
17. ./configure \
--prefix=/usr/local/apache \
--active-module=src/modules/php3/libphp3.a
再一次配置Apache,这次告诉Apache要加载PHP模块。
18. make
编译Apache源文件。
19. make install
安装已编译的文件。
20. mv \
/usr/local/apache/bin/httpd \
/usr/local/apache/bin/httpd-1.3.4
重新命名新创建的httpd可执行文件,这样就能够安装多种版本。
21. ln -s \
/usr/local/apache/bin/httpd-1.3.4 \
/usr/sbin/httpd
建立一个指向新的可执行文件的符号链接。
22. httpd -v
证实可以访问新的可执行文件。该命令的执行结果将显示版本1.3.4,而且建立日期也应该正确无误。
23. 编辑/usr/local/apache/conf/http.conf文件,搜索AddType并确认下列行未加注释。
AddType application/x-httpd-php3 .phtml
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3-source .phps
24. 接着编辑/usr/local/apache/conf/http.conf文件,搜索DirectoryIndex并将index.php3放在行尾。
25. 创建一个名为/usr/local/local/php3.ini的文件,该文件应包含如下的命令行:
include_path=.:/usr/local/apache/php/
auto_prepend_file=/usr/local/apache/php/prepend.php3
track_vars = on
magic_quotes_gpc = on
sendmail_path /usr/sbin/sendmail -t
26. ln -s \
/usr/local/src/php-3.0.11/doc/manual.html \
/usr/local/src/php-3.0.11/doc/index.html
建立一个符号链接,这样绝大多数Web浏览器就会正确地自动显示PHP文件起始页。
27. ln -s \
/usr/local/src/php-3.0.11/doc \
/usr/local/apache/htdocs/phpdocs
建立一个符号链接,这样就可以通过http://localhost/phpdocs/, 来访问PHP文档。
28. 创建一个叫做/usr/local/apache/htdocs/robots.txt的文件,这样就可避免搜索引擎为PHPLIB,phpMyAdmin和PHP文件建立索引,新创建的文件应包括如下设置行:
#robots.txt for (hostname)
User-agent *
Disallow: /phpdocs/
Disallow: /php/
Disallow:/phpMyAdmin/
2.7 安装PHPLIB
在阅读第15章“处理并发的访问”之前,应先安装PHPLIB,可以按照下列步骤进行安装:
1. 以root用户或其他任何可以在/usr/local/apache目录下写文件的用户注册。
2. cd /usr/local/apache/
在开始下载文件之前,进入到Web服务器的顶级目录下。
3. 从如下Web网址下载最新版本的文件,注意gz后缀的文件名,以免它的文件名phplib.tar.gz被改动。
http://phplib.shonline.de/
4. tar xv2f phplib.tar.gz
解压缩PHPLIB模块。
5. 编辑/usr/local/lib/php3.ini文件,应包括下列设置内容:
include_path=.:/usr/local/apache/phplib-6.1/php
auto_prepend_file = /usr/local/apache/phplib-
6.1/php/prepend.php3
track_vars = on
magic_quotes_gpc = on
sendmail_path /usr/sbin/sendmail -t
6. 建立一个名为poe_sessions的mysql数据库。我一般使用phpMyAdmin,如果愿意,也可以使用SQL命令创建数据库。
7. cd /usr/local/apache/phplib-6.1/stuff
进入建表目录下。
8. mysql php_book --user=root --password <
create_database.mysql
创建PHPLIB所需要的数据库表。
9. 使用以下值在mysql数据库表中增加一条新记录:
host: %
password: <-- no password.
select_priv: Yes
insert_priv: Yes
update_priv: Yes
delete_priv: Yes
for users named "kris","user01",and "user02".
注意:也可以使用如下SQL语句:
INSERT INTO
user
(
Host
,User
,Password
,Select_priv
,Insert_priv
,Update_priv
,Delete_priv
)
VALUES (
'%'
, 'kris'
, ''
, 'Y', 'Y', 'Y', 'Y'
)
10. 使用以下值在mysql数据库的db表中增加一条新记录:
host: %
db: poe_sessions
select_priv: Yes
insert_priv: Yes
update_priv: Yes
delete_priv: Yes
for users named "kris","user01",and "user03".
注意:也可以使用如下SQL程序。
INSERT INTO
db
(
Host
,Db
,User
,Select_priv
,Insert_priv
,Update_priv
,Delete_priv
)
VALUES (
'%'
, 'poe_sessions '
, 'kris'
, 'Y', 'Y', 'Y', 'Y'
)
11. /usr/local/mysql/bin/mysqladmin -u root -p reload
重新装载MySQL权限表。
12. 在php_book数据库中创建两个PHPLIB已认证的用户(user01和user02),可以使用如下SQL语句:
INSERT INTO
auto_user
(
uid
,username
,password
,perms
) VALUES (
'c14cbf141ab1b7cd009356f555b1234'
,'user01'
,'test'
,'admin'
)
INSERT INTO
auth_user
(
uid
,username
,password
,perms
) VALUES (
'c14cbf141ab1b7cd009356f555b3241'
,'user02'
,'test'
,'admin'
)
13. mv\ /use/local/apache/phplib-6.1/pages \
/use/local/apach/htdocs
将演示子目录置于Web服务器的根目录下,这样就可以用浏览器访问它。
14. 编辑文本文件/usr/local/apache/htdocs/robots.txt,使它包括如下内容:
Disallow: /phplib/
15. 使用Web浏览器访问http://localhost/phplib/。将会看到如图2.1所示页面。
Page 29 图2.1
图2.1 重新装载两次以后出现的PHPLIB演示页面
2.8 测试Linux环境下的ODBC
对所装软件进行基本测试是很重要的,特别是需要手工编辑配置文件时。如下的测试可确保你的MySQL驱动程序运行正常,并且编译的iODBC库文件也是正确无误的。
1. 使用清单2.1所列的内容,建立一个名为/usr/local/etc/odbc.ini的文件。
清单 2.2 /usr/local/etc/odbc.ini- 系统ODBC 配置文件
;
;odbc.ini
;
[ODBC Data Sources]
mysql = mysql
[php_book]
driver = /usr/local/myodbc/lib/libmyodbc.so
host = localhost
database = mysql
user = root
2. cd /usr/local/src/libiodbc-2.50.3/samples
3. ./odbctest
运行ODBC测试程序。
4. DSN=mysql;PWD=password
告诉测试程序要访问的数据源。
5. select host,user from user
在提示符下执行一个SQL语句,如果有回应,说明iODBC和MySQL已经可以使用了。
现在,在计算机中已经安装好了ODBC,由于它的安装步骤不太清晰而且文档又很少,所以本章中讲述了其安装和测试指令,然而鉴于ODBC主要是一项Microsoft技术,且很少在Linux中用到,所以这里是本书中最后一次有关介绍。
2.9 总结:
本章讲述了如何获取PHP,及在计算机中进行安装所需要的步骤,编译了内建PHP的特定版本Apache 服务器。同时,还安装了将在第15章“中场四:处理并发访问”中用所到的PHPLIB。
《PHP基础教程(第4版)》pdf下载在线阅读,求百度网盘云资源
《PHP基础教程(第4版)》(Larry Ullman)电子书网盘下载免费在线阅读
资源链接:
链接:https://pan.baidu.com/s/1VT-qqRZUecfswjftZbI0Iw
提取码:k5we
书名:PHP基础教程(第4版)
作者:Larry Ullman
译者:贾菡
豆瓣评分:7.6
出版社:人民邮电出版社
出版年份:2011-10
页数:405
内容简介:
由贾菡等编译的《PHP基础教程(第4版)》以通俗易懂的语言向初学者介绍了PHP语言的基本概念、使用方法和注意事项。全书通过丰富的示例,引领读者逐步掌握这门流行的Web开发语言,使读者能够上手编写适用于常用场景的PHP脚本。
《PHP基础教程(第4版)》适合有基本HTML经验的读者阅读。
作者简介:
Brian Halligan 市场营销软件开发公司HubSpot创始人兼CEO,致力于帮助其他企业“被目标客户找到”。他也是一位眼光超前的风险投资家、经验丰富的销售及营销主管,常应邀去MIT以及哈佛商学院举办讲座。
Dharmesh Shah HubSpot公司创始人兼CTO,天使投资人,撰写的博客OnStartups.com拥有大量粉丝。他还屡次应邀就市场营销以及企业家精神这类主题发表演说。
侯德杰 北京邮电大学英语专业,后取得北京交通大学项目管理硕士学位。目前就职于北京全路通信信号研究设计院,全职翻译和审核文档,曾翻译出版《网络营销实训》,对网络营销有较深入的研究。
PHP5教程之文件操作
一 引论
在任何计算机设备中 文件是都是必须的对象 而在web编程中 文件的操作一直是web程序员的头疼的地方 而 文件的操作在cms系统中这是必须的 非常有用的 我们经常遇到生成文件目录 文件(夹)编辑等操作 现在我把php中的这些函数做一详细总结并实例示范如何使用 关于对应的函数详细介绍 请查阅php手册 此处只总结重点 和需要注意的地方 (这在php手册是没有的 )( lian )
二 目录操作
首先介绍的是一个从目录读取的函数 opendir() readdir() closedir() 使用的时候是先打开文件句柄 而后迭代列出:
<!--?php $base_dir = filelist/ ; $fso = opendir($base_dir); echo $base_dir
; while($flist=readdir($fso)){ echo $flist
; } closedir($fso) ?>
这是讲返回文件目录下面的文件已经目录的程序( 文件将返回false)
有时候需要知道目录的信息 可以使用dirname($path)和basename($path) 分别返回路径的目录部分和文件名名称部分 可用disk_free_space($path)返回看空间空余空间
创建命令:
mkdir($path )
是权限码 在非window下可用umask()函数设置
rmdir($path)
将删除路径在$path的文件
dir directory 类也是操作文件目录的重要类 有 个方法 read rewind close 这是一个仿面向对象的类 它先使用的是打开文件句柄 然后用指针的方式读取的 这里看php手册:
handle /n ;echo Path: $d >path /n ;while (false !== ($entry = $d >read())) { echo $entry /n ;}$d >close();?>
输出:
Handle: Resource id # Path: /etc/php apachecgicli
文件的属性也非常重要 文件属性包括创建时间 最后修改时间 所有者 文件组 类型 大小等
下面我们重点谈文件操作
三 文件操作
A 读文件
首先是一个文件看能不能读取(权限问题) 或者存在不 我们可以用is_readable函数获取信息
判断文件存在的函数还有file_exists(下面演示) 但是这个显然无is_readable全面 当一个文件存在的话可以用
但是file_get_contents函数在较低版本上不支持 可以先创建文件的一个句柄 然后用指针读取全部:
$fso = fopen($cacheFile r ); $data = fread($fso filesize($cacheFile)); fclose($fso);
还有一种方式 可以读取二进制的文件:
$data = implode( file($file));
B 写文件
和读取文件的方式一样 先看看是不是能写:
能写了的话可以使用file_put_contents函数写入:
file_put_contents函数在php 中新引进的函数(不知道存在的话用function_exists函数先判断一下)低版本的php无法使用 可以使用如下方式:
$f = fopen($file w ); fwrite($f $data); fclose($f);
替换之
写文件的时候有时候需要锁定 然后写:
function cache_page($pageurl $pagedata){ if(!$fso=fopen($pageurl w )){ $this >warns( 无法打开缓存文件 );//trigger_error return false; } if(!flock($fso LOCK_EX)){//LOCK_NB 排它型锁定 $this >warns( 无法锁定缓存文件 );//trigger_error return false; } if(!fwrite($fso $pagedata)){//写入字节流 serialize写入其他格式 $this >warns( 无法写入缓存文件 );//trigger_error return false; } flock($fso LOCK_UN);//释放锁定 fclose($fso); return true; }
C 复制 删除文件
php删除文件非常easy 用unlink函数简单操作:
即可
复制文件也很容易:
可以使用rename()函数重命名一个文件夹 其他操作都是这几个函数组合一下就能实现的
D 获取文件属性
我说几个常见的函数:
获取最近修改时间:
返回的说unix的时间戳 这在缓存技术常用
相关的还有获取上次被访问的时间fileatime() filectime()当文件的权限 所有者 所有组或其它 inode 中的元数据被更新时间 fileowner()函数返回文件所有者
$owner = posix_getpwuid(fileowner($file));
(非window系统) ileperms()获取文件的权限
filesize()返回文件大小的字节数:
<!--?php // 输出类似 somefile txt: bytes
$filename = somefile txt ; echo $filename : filesize($filename) bytes ;
?>
获取文件的全部信息有个返回数组的函数stat()函数:
那个键对应什么可以查阅详细资料 此处不再展开
四 结束语
lishixinzhi/Article/program/PHP/201311/21262
怎么将txt改为php
怎么将txt改为php?直接把.txt后缀名改成.php就可以了。首先在电脑中找到需要更改为php的txt文件;然后选中该txt文件,并用鼠标进行右击;接着在弹出的窗口中,选择重命名选项;最后直接把“.txt”后缀名改成“.php”即可。其他文件比如.asp等类似的文件也一样。需要注意的是:txt改改成php文件以后,如果要运行php文件的话就需要运行环境并把该文件放到指定目录才可以。推荐:《PHP教程》
php如何读取文本
php如何读取文本?php中读取文件内容的几种方法1.freadstring fread ( int $handle , int $length )fread() 从 handle 指向的文件中读取最多 length 个字节。该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况。推荐:《PHP教程》fread() 返回所读取的字符串,如果出错返回 FALSE。
如果所要读取的文件不是本地普通文件,而是远程文件或者流文件,就不能用这种方法,因为,filesize不能获得这些文件的大小。此时,你需要通过feof()或者fread()的返回值判断是否已经读取到了文件的末尾。例如:
或者:
2.fgetsstring fgets ( int $handle [, int $length ] )fgets()从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
Note: length 参数从 PHP 4.2.0 起成为可选项,如果忽略,则行的长度被假定为 1024。从 PHP 4.3 开始,忽略掉 length 将继续从流中读取数据直到行结束。如果文件中的大多数行都大于 8KB,则在脚本中指定最大行的长度在利用资源上更为有效。从 PHP 4.3 开始本函数可以安全用于二进制文件。早期的版本则不行。3.fgetssstring fgetss ( resource $handle [, int $length [, string $allowable_tags ]] )跟fgets功能一样,但是fgetss会尝试从读取的文本中去掉任何 HTML 和 PHP 标记,可以用可选的第三个参数指定哪些标记不被去掉。
<!--?php $handle = fopen('./file.txt', 'r'); while(!feof($handle)){ echo fgetss($handle, 1024, ''); } fclose($handle);?>4.filearray file ( string $filename [, int $use_include_path [, resource $context ]] )将文件内容读入一个数组中,数组的每一项对应文件中的一行,包括换行符在内。不需要行结束符时可以使用 rtrim() 函数过滤换行符。
$content){ echo 'line '.($line + 1).':'.$content; }?> 5.readfileint readfile ( string $filename [, bool $use_include_path [, resource $context ]] )读入一个文件并写入到输出缓冲。返回从文件中读入的字节数。如果出错返回 FALSE 并且除非是以 @readfile() 形式调用,否则会显示错误信息。
6.file_get_contentsstring file_get_contents ( string $filename [, bool $use_include_path [, resource $context [, int $offset [, int $maxlen ]]]] )将文件读入一个字符串。第三个参数$context可以用来设置一些参数,比如访问远程文件时,设置超时等等。另外,file_get_contents相对于以上几个函数,性能要好得多,所以应该优先考虑使用file_get_contents。但是readfile貌似比file_get_contents性能好一点(?),因为它不需要调用fopen。
array( 'timeout' => 1 //设置超时 ) ) ); echo file_get_contents("http://www.baidu.com/", 0, $ctx); ?>7.fpassthru int fpassthru ( resource $handle )将给定的文件指针从当前的位置读取到 EOF 并把结果写到输出缓冲区。
几个注意事项:1. 鼓励在处理二进制文件时使用 b 标志,即使系统并不需要,这样可以使脚本的移植性更好。 2. allow_url_fopen选项激活了 URL 形式的 fopen 封装协议使得可以访问 URL 对象例如文件。默认的封装协议提供用 ftp 和 http 协议来访问远程文件,一些扩展库例如 zlib 可能会注册更多的封装协议。出于安全性考虑,此选项只能在 php.ini 中设置。3. 如果要打开有特殊字符的 URL (比如说有空格),就需要使用 urlencode() 进行 URL 编码。
谁有php的教程,可否分享一下
php教程(90.24G)百度网盘免费资源在线学习
链接: https://pan.baidu.com/s/1jK3nM2UxdXwTml7bL10POg
?pwd=g5gh 提取码:g5gh
php教程(90.24G)
29.-react前后端分离(电影项目) 28.小程序(laravel教育系统) 27.公众号开发 26.laravel框架 25.-sphinx+页面静态化 24.网站优化 23.MongoDB 22.Redis 21.Memcache缓存设计 20 Nginx服务器集群 19.ThinkPHP5品优购商城 18 Restful 17.ThinkPHP5框架 16.VUE项目
关于 PHP 的教程,网上有很多资源可以参考。以下是一些比较常见的 PHP 教程:
PHP 官方网站的教程:https://www.php.net/manual/zh/
W3Schools 的 PHP 教程:https://www.w3schools.com/php/
PHP 中文网的 PHP 教程:https://www.php.cn/course/354.html
PHP 教程网的 PHP 教程:https://www.phpjiaocheng.com/
菜鸟教程的 PHP 教程:https://www.runoob.com/php/php-tutorial.html
以上教程都是比较基础的 PHP 教程,从基础语法到常用函数都有涉及。如果需要更深入的学习,可以进一步查找更高级的教程。
这有个网上的有教程,还能在线编译,手机上也能学,希望有用
https://www.runoob.com/php/php-tutorial.html
PHP-HTML入门及实战教程百度网盘免费资源在线学习
链接: https://pan.baidu.com/s/1DkFLXkpFxumoZH73fOJBdg
?pwd=14yu 提取码: 14yu
PHP-HTML入门及实战教程 千锋php教程:第1章_HTML入门介绍 第2章_HTML基础语法学习 下载必看.docx
2_9_表格.mp4 2_8_列表.mp4 2_7_图片.mp4 2_6_链接.mp4 2_5_属性.mp4 2_4_文本.mp4 2_3_段落.mp4 2_2_标题.mp4 2_1_全局架构标签.mp4 2_14_头部.mp4 2_13_框架.mp4
跪求php好一点的教程
十天学会php
还有这个教程:
http://www.w3school.com.cn/php/index.asp
这两个主要是掌握下基础语法 做一些小程序
等你觉得看的差不多了
自己做一个用户注册登陆的小系统 如果能自己坐下来 你应该算会php了
关键要能做一些实际项目 进步会很快
http://www.phpchina.com/download/
PHP编程语言入门
PHP中文手册
PHP搭建环境
视频教程等!
我正在学 php00的视频教程很好
www.php100.com
那是什么哦?
【2】韩顺平老师php从入门到精通149讲百度网盘免费资源在线学习
链接: https://pan.baidu.com/s/1cCoVdUCjSq2xNGvHOMs_dA
?pwd=9993 提取码: 9993
【2】韩顺平老师php从入门到精通149讲 下载必看.txt 海量精品建站资源尽在青龙建站教程自学网.zip 更多建站教程请点击这里.url 点击获取解压密码.url 第149讲 开发自己的网上支付平台⑤-防止回调页面刷新.wmv 第148讲 开发自己的网上支付平台④-接收支付结果.wmv 第147讲 开发自己的网上支付平台③-发送支付请求.wmv 第146讲 开发自己的网上支付平台②-商家与易宝支付网关对接详解.wmv 第145讲 开发自己的网上支付平台①-网上支付的两种方式及其流程介绍.wmv 第144讲 php xml编程(11)-基于xml的在线词典评讲.wmv 第143讲 php xml编程(10)-SimpleXML.wmv 第142讲 php xml编程⑨-综合练习-基于xml的在线词典 phpdom使用xpath.wmv 第141讲 php xml编程⑧-phpdom编程(3) 综合练习-基于xml的在线词典.wmv 第140讲 php xml编程⑦-phpdom编程(2).wmv