当前位置:首页 » 编程语言 » php文件处理

php文件处理

发布时间: 2022-05-03 01:03:17

php是什么

PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开源多用途脚本语言,也是最常用的网站编程语言。

PHP作为最热门的网站程序开发语言,使用PHP的一大好处是它对于初学者来说极其简单,同时也给专业的程序员提供了各种高级的特性。当看到PHP长长的特性列表时,请不要害怕。PHP可以很快的入门,只需几个小时就可以自己写一些简单的脚本

问题1:PHP文件格式?

答:PHP文件后缀名是.php

问题2:php文件需要用什么工具打开

答:需要有PHP的运行环境才可以访问和打开如果只是编辑PHP文件,只需要用:

  • php文件打开方式一:用记事本打开

    右击.php文件,选择记事本打开,就可以看到文件代码。

  • 方式二:用Dreamweaver打开

    Dreamweaver是网页编辑器,比较流行的网站开发工具,你可以直接把文件拖进去就可以可以打开php文件了

  • 方式三:Notepad ++工具打开

    也是代码编辑器,右键选择文件打开就行

  • 方式四:SublimeText工具打开

    和方式三一样

推荐阅读:01php用什么编辑器编程比较好

推荐阅读:02怎样深入学习php,成为php高手!?


主要特

①开源性和免费性

由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP运行环境的使用也是免费的。

②快捷性

PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性很强。

数据库连接的广泛性

PHP可以与很多主流的数据库建立起连接,如Mysql、ODBC、Oracle等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。

④面向过程和面向对象并用

在PHP语言的使用中,可以分别使用面向过程和面向对象,而且可以将PHP面向过程和面向对象两者一起混用,这是其它很多编程语言是做不到的。

扩展资料

PHP优点

①流行且容易上手

PHP是目前最流行的编程语言之一。它驱动全球超过2亿多个网站,有全球超过80%的网站在采用PHP。PHP使用起来方便简单,也一点都不复杂,表达能力相当灵活。

②开发职位很多

在服务器端的网站编程中PHP会更容易帮助你找到工作。相当多的互联网相关企业都在使用PHP开发框架,市场对PHP的开发程序员的需求依然是比较大的,尤其中高级技术人才非常紧缺。

③发展潜力佳

PHP在不断兼容着类似closures和命名空间等技术,同时兼顾性能和当下流行的框架。PHP7之后,一直在提供更高性能的应用。

④可植入性强

PHP语言在补丁漏洞升级过程中,核心部分植入简单易行,且速度快。

⑤拓展性强

PHP语言在数据库应用过程中,可以从数据库调取各类数据,执行效率高

㈡ 如何把一个PHP文件解密

所谓的PHP文件加密,一般有两种方式,一是ZEND编译,二是BASE64等编码,理论上都不是加密,下面分别说说如何还原。

对于ZEND编译过的代码,用记事本打开是完全是乱码,除了前面的很小的头部,后面不是可见ASCII字符,有点像打开一个EXE文件的效果,是无法阅读的。这类处理的文件一般认为是无法还原的,网上有DEZEND工具,你可以下载来试试看,能还原早期ZEND版本编译后的代码。

对于使用BASE64等编码后的PHP文件,可以用记事本打开查看,所有字符都是可见ASCII字符,一般使用两种方法加大阅读难度:一是使用$ll111、$ooo000这样的变量,字母L的小写与1混在一起、字母O的小写与数字0混在一起,不容易分辨变量名称。二是使用BASE64编码对原始代码进行转换,最后使用eval进行处理。往往两种方式结合在一起。

第二种方式处理后的代码是很容易还原的,方法就是把eval换为exit,在CLI(命令提示符)下执行就会显示出eval那个语句对应的等效代码,替换原始语句即可。有时候还原一次后还是eval语句,那需要按照同样的方法反复处理。

㈢ PHP后缀名的文件是什么文件怎么打开

后缀名为“PHP”的文件是一种程序语言的命名格式结尾,
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

PHP 主要是用于服务端的脚本程序,因此您可以用 PHP 来完成任何其它的 CGI 程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送/接收 Cookies。但 PHP 的功能远不局限于此。
PHP 脚本主要用于以下三个领域;

服务端脚本。这是 PHP 最传统,也是最主要的目标领域。
命令行脚本。您可以编写一段 PHP 脚本,并且不需要任何服务器或者浏览器来运行它。通过这种方式,您仅仅只需要 PHP 解析器来执行。
编写客户端的 GUI 应用程序。对于基于窗口式的应用程序来说,PHP 或许不是一种最好的语言,但是如果您非常精通 PHP,并且希望在您的客户端应用程序中使用 PHP 的一些高级特性,您可以利用 PHP-GTK 来编写这些程序。

㈣ 怎么用php代码来修改php的文件

PHP 中的 file_get_contents() 与 file_put_contents() 函数可以实现

file_get_contents() 函数把整个文件读入一个字符串中。
file_get_contents() 函数是用于将文件的内容读入到一个字符串中的首选方法。

file_get_contents(path,include_path,context,start,max_length)

参数说明
path 必需。规定要读取的文件。
include_path 可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。
context 可选。规定文件句柄的环境。
context 是一套可以修改流的行为的选项。若使用 null,则忽略。
start 可选。规定在文件中开始读取的位置。该参数是 PHP 5.1 新加的。
max_length 可选。规定读取的字节数。该参数是 PHP 5.1 新加的。
对 context 参数的支持是 PHP 5.0.0 添加的。

注释:本函数可安全用于二进制对象。

file_put_contents() 函数把一个字符串写入文件中。

file_put_contents(file,data,mode,context)

参数说明
file 必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。
data 可选。规定要写入文件的数据。可以是字符串、数组或数据流。

注释:本函数可安全用于二进制对象。

例如:

需要修改的php文件 index.php (前提条件此文件需要有写入的权限)
<?php
$str = 'abc123';
?>

处理的文件 update.php
<?php
$conents = file_get_contents("index.php");
$conents = str_replace('abc','efg',$conents);
file_put_contents("index.php",$conents);
?>

修改后的index.php 文件
<?php
$str = 'efg123';
?>

㈤ 如何在Apache中使用PHP处理PHP文件

将PHP预处理器作为Apache的模块(插件)
Apache软件自身的功能都是基于模块化管理的.
将PHP预处理器作为Apache的一个模块即可.如果还有不明白的话,你也可以去后盾人看看php基础教学视频看看,也是不错的选择,希望能帮到你,给个采纳吧谢谢(●—●)

㈥ PHP文件是什么文件怎么打开

PHP是一种非常流行的WEB程序语言,超级文本预处理语言,其他的还有ASP,JSP等。简单的说.PHP就是嵌入这种语言后的一个动态网页文件。

四种打开php格式文件方法:

首先我们来看php文件是什么文件,PHP是一个网页脚本,文件后缀名为.php,

php文件打开方式一:用记事本打开

右击.php文件,选择记事本打开,就可以看到文件代码啦!

php文件打开方式二:用Dreamweaver打开

Dreamweaver是网页编辑器,比较流行的网站开发工具,你可以直接把文件拖进去就可以打开php文件了

php文件打开方式三:Notepad++工具打开

也是代码编辑器,选择文件打开就行

php文件打开方式四:SublimeText工具打开

和上面方法一样,直接选择文件打开就行

除了记事本,其它代码编辑器工具都可以去php中文网php开发工具下载

若是想要.php文件进行运行则需要php环境。可以去php中文网QQ群374224296里去下载php环境搭建工具软件(PHPToolClient)进行安装,直接把文件放进根目录下就可以用浏览器打开啦!

㈦ php处理大文件文件

我前几天有一个面试,面试题就是有这样一道题。先把自己的思路说一下,因为信息量非常的大,所以我采用了分表,分成24张表,每个小时一张,虽然凌晨时刻的表可能很少数据,但这样sum字段的问题就容易解决了,我理解的sum字段是一个小时同一个用户在相同的环境的登陆次数。这样理解不知对否,请网友自行甄辨。然后我通过PHP中的fgets函数一行一行的数据取出,入表。实验了几万条数据是没有问题的,但是上亿条数据可能够呛。这一点也请网友注意,我也是新手。只是看到这里没有答案,给大家一个参考。废话不多,看流程:

日志文件(access.log)格式:

200/alipeng.gif?zoneid=2&bannerid=44&clentid=6&materialid=64&redirect=http%3a%2f%2fwww.alipeng.cn&time=1384444800.832&ip=127.0.0.1&user_agent=Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/31.0.1650.48Safari/537.36&utrace=
502/alipeng.gif?zoneid=2&bannerid=44&clentid=6&materialid=64&redirect=http%3a%2f%2fwww.alipeng.org&time=1384444800.904&ip=127.0.0.1&user_agent=Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/31.0.1650.48Safari/537.36&utrace=


配置文件cfg.php:

define(HOST,'localhost');//主机名
define(USER,'root');//数据库账号
define(PASS,'111111');//数据库密码
define(DBNAME,'test');//所用的数据库
define(CHARSET,'utf8');//使用的字符集

具体代码test.php:

<?php
header("content-type:text/html;charset=utf-8");
require'./cfg.php';

$link=mysql_connect(HOST,USER,PASS)ordie('连接数据库失败');

//程序中自动建库和建表,这样一定程度上拖慢了程序的速度
//创建数据库
$crdb="createdatabaseifnotexists".DBNAME;
if(!mysql_query($crdb)){
die('创建数据库失败');
}

//链接数据库
mysql_select_db(DBNAME)ordie('选择数据库失败');
mysql_set_charset(CHARSET);

//因为数据量很大我将数据按小时分表,分成24个表,每小时一个表,这样num字段的值也好做统计
//数据循环建表
for($i=0;$i<24;$i++){
if($i<10){
$tbhz='0'.$i;//如果前10张表,表后缀应该是00-09
}else{
$tbhz=$i;
}
$ctbsql="_{$tbhz}(
idintnotnullauto_incrementprimarykey,
zoneidintnotnulldefault0,
banneridintnotnulldefault0,
clentidintnotnulldefault0,
materialidintnotnulldefault0,
redirectchar(200)notnulldefault'',
timechar(16)notnulldefault'',
user_agentchar(200)notnulldefault'',
utracechar(32)notnulldefault'',
sumintnotnulldefault0
)TYPE=_general_ci";
mysql_query($ctbsql);

}


//打开文件
$file=fopen("./access.log",'r')ordie("打开文件失败");
//对文件内容进行循环,直到文件末尾才停止
while(!feof($file)){
//每次读取一行
$line=fgets($file,1024);
//状态是200的进行写入数据库操作
if(preg_match('/^200/',$line)){
$pinfo=parse_url($line);//url信息
$ext=$pinfo['query'];//取得传递的各个参数
$parray=explode('&',$ext);//根据&分解为数组

//因为分解为数组后并不是要的值,所以要对值进行一次截取,将等号及等号左边的都去掉
foreach($parrayas$val){
$narray[]=ltrim(strstr($val,'='),'=');
}
$narray[8]=rtrim($narray[8],'_');
//截取时间的秒数
$getmun=substr($parray[5],5,10);
$time=date('Y-m-dH',$getmun);//将秒数转化为时间类型。

//得到表后缀
$tbhz=date('H',$getmun);

$sql="insertintologininfo_{$tbhz}values(null,'{$narray[0]}','{$narray[1]}','{$narray[2]}','{$narray[3]}','{$narray[4]}','{$time}','{$narray[7]}','{$narray[8]}',0)";

//echo$sql;
$res=mysql_query($sql);//执行插入
if(!$res||!mysql_affected_rows()>0){
die('写入数据库失败');
}

unset($narray);//循环一次将narray销毁,为下一次循环做准备
//var_mp(parse_url($line)['query']);

}
}
fclose($file);//关闭

//因为sum字段还是0,下面代码段需要处理sum字段的值

//24张表循环处理
for($i=0;$i<24;$i++){
if($i<10){
$tbhz='0'.$i;//如果前10张表,表后缀应该是00-09
}else{
$tbhz=$i;
}

//该sql语句是把同一个小时内,并且符合条件相等的登陆的总次数和需要的登陆信息查出,为下面修改sum做准备
$sql="SELECTCOUNT('zoneid')ASsum,zoneid,bannerid,clentid,materialid,redirect,user_agent,utraceFROMlogininfo_{$tbhz}GROUPBYzoneid,bannerid,clentid,materialid,redirect,user_agent,utrace";
//发送查询sql
$res=mysql_query($sql);

if($res&&mysql_num_rows($res)>0){
while($row=mysql_fetch_assoc($res)){
//修改sum字段,即同一小时内的登陆次数
$upsql="updatelogininfo_{$tbhz}setsum='{$row['sum']}'wherezoneid='{$row['zoneid']}'andbannerid='{$row['bannerid']}'andclentid='{$row['clentid']}'andmaterialid='{$row['materialid']}'andredirect='{$row['redirect']}'anser_agent='{$row['user_agent']}'antrace='{$row['utrace']}'";
//发送修改sql,执行修改sum
$upres=mysql_query($upsql);
if(!$upres){
die('修改登陆sum失败');
}

}
}

}
echo'数据成功入表';

使用说明:

  • 将配置文件cfg.php中的连接数据库账号、密码修改为自己本机的(默认新增的库名是test)

  • 直接运行test1.php

㈧ 如何在php中对文件进行读写操作

嗯,很简单,不过这次不是用file_put_contents()函数了,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13

// 假设你的文件b.php已经创建,并且有权操作
// 但还是加上权限设定的语句,比较保险
chmod(dirname(__FILE__), 0777); // 以最高操作权限操作当前目录
// 打开b.php文件,这里采用的是a+,也可以用a,a+为可读可写,a为只写,如果b.php不能存在则会创建它
$file = fopen('b.php', 'a+'); // a模式就是一种追加模式,如果是w模式则会删除之前的内容再添加
// 获取需要写入的内容
$c = '我是要被追加的内容!';
// 写入追加的内容
fwrite($c, $file);
// 关闭b.php文件
fclose($file);
// 销毁文件资源句柄变量
unset($file);

㈨ php中的文件上传处理

PHP上传文件非常简单,你需要一个上传的HTML文件(<FORM>),一个保存文件的PHP文件(保存),一个查询上传文件清单的工具。

真正实现完整功能的上传和管理需要使用数据库,我的网站俱乐部里面上传文件一开放很快就传了几万个文件。

最简单的方法不用数据库,可以用一个PHP文件实现,这个文件列出指定目录下的所有文件,然后提供一个上传的FORM,最后检测是否提交了FORM数据,是就保存文件到指定位置。

PHP手册第39章有关于处理这些问题的说明,我复制粘贴如下:


上一页V.特点下一页

--------------------------------------------------------------------------------

第39章文件上传处理
目录
POST方法上传
错误信息说明
常见缺陷
上传多个文件
对PUT方法的支持
POST方法上传
本特性可以使用户上传文本和二进制文件。用PHP的认证和文件操作函数,可以完全控制允许哪些人上传以及文件上传后怎样处理。

PHP能够接受任何来自符合RFC-1867标准的浏览器(包括NetscapeNavigator3及更高版本,打了补丁的MicrosoftInternetExplorer3或者更高版本)上传的文件。

相关的设置:请参阅php.ini的file_uploads,upload_max_filesize,upload_tmp_dirpost_max_size以及max_input_time设置选项。

请注意PHP也支持PUT方法的文件上传,NetscapeComposer和W3C的Amaya客户端使用这种方法。请参阅对PUT方法的支持以获取更多信息。

例39.1.文件上传表单

可以如下建立一个特殊的表单来支持文件上传:<!--Thedataencodingtype,enctype,MUSTbespecifiedasbelow-->
<formenctype="multipart/form-data"action="__URL__"method="POST">
<!--MAX_FILE_-->
<inputtype="hidden"name="MAX_FILE_SIZE"value="30000"/>
<!--$_FILESarray-->
Sendthisfile:<inputname="userfile"type="file"/>
<inputtype="submit"value="SendFile"/>
</form>


以上范例中的__URL__应该被换掉,指向一个真实的PHP文件。

MAX_FILE_SIZE隐藏字段(单位为字节)必须放在文件输入字段之前,其值为接收文件的最大尺寸。这是对浏览器的一个建议,PHP也会检查此项。在浏览器端可以简单绕过此设置,因此不要指望用此特性来阻挡大文件。实际上,PHP设置中的上传文件最大值是不会失效的。但是最好还是在表单中加上此项目,因为它可以避免用户在花时间等待上传大文件之后才发现文件过大上传失败的麻烦。

注意:要确保文件上传表单的属性是enctype="multipart/form-data",否则文件上传不了。

全局变量$_FILES自PHP4.1.0起存在(在更早的版本中用$HTTP_POST_FILES替代)。此数组包含有所有上传的文件信息。

以上范例中$_FILES数组的内容如下所示。我们假设文件上传字段的名称如上例所示,为userfile。名称可随意命名。

$_FILES['userfile']['name']
客户端机器文件的原名称。

$_FILES['userfile']['type']
文件的MIME类型,如果浏览器提供此信息的话。一个例子是“image/gif”。不过此MIME类型在PHP端并不检查,因此不要想当然认为有这个值。

$_FILES['userfile']['size']
已上传文件的大小,单位为字节。

$_FILES['userfile']['tmp_name']
文件被上传后在服务端储存的临时文件名。

$_FILES['userfile']['error']
和该文件上传相关的错误代码。此项目是在PHP4.2.0版本中增加的。

文件被上传后,默认地会被储存到服务端的默认临时目录中,除非php.ini中的upload_tmp_dir设置为其它的路径。服务端的默认临时目录可以通过更改PHP运行环境的环境变量TMPDIR来重新设置,但是在PHP脚本内部通过运行putenv()函数来设置是不起作用的。该环境变量也可以用来确认其它的操作也是在上传的文件上进行的。

例39.2.使文件上传生效

请查阅函数is_uploaded_file()和move_uploaded_file()以获取进一步的信息。以下范例处理由表单提供的文件上传。

<?php
//InPHPversionsearlierthan4.1.0,$HTTP_POST_FILESshouldbeusedinstead
//of$_FILES.

$uploaddir='/var/www/uploads/';
$uploadfile=$uploaddir.basename($_FILES['userfile']['name']);

echo'<pre>';
if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile)){
echo"Fileisvalid,andwassuccessfullyuploaded.\n";
}else{
echo"Possiblefileuploadattack!\n";
}

echo'Hereissomemoredebugginginfo:';
print_r($_FILES);

print"</pre>";

?>

接受上传文件的PHP脚本为了决定接下来要对该文件进行哪些操作,应该实现任何逻辑上必要的检查。例如可以用$_FILES['userfile']['size']变量来排除过大或过小的文件,也可以通过$_FILES['userfile']['type']变量来排除文件类型和某种标准不相符合的文件,但只把这个当作一系列检查中的第一步,因为此值完全由客户端控制而在PHP端并不检查。自PHP4.2.0起,还可以通过$_FILES['userfile']['error']变量来根据不同的错误代码来计划下一步如何处理。不管怎样,要么将该文件从临时目录中删除,要么将其移动到其它的地方。

如果表单中没有选择上传的文件,则PHP变量$_FILES['userfile']['size']的值将为0,$_FILES['userfile']['tmp_name']将为空。

如果该文件没有被移动到其它地方也没有被改名,则该文件将在表单请求结束时被删除。

例39.3.上传一组文件

PHP的HTML数组特性甚至支持文件类型。

<formaction=""method="post"enctype="multipart/form-data">
<p>Pictures:
<inputtype="file"name="pictures[]"/>
<inputtype="file"name="pictures[]"/>
<inputtype="file"name="pictures[]"/>
<inputtype="submit"value="Send"/>
</p>
</form>


<?php
foreach($_FILES["pictures"]["error"]as$key=>$error){
if($error==UPLOAD_ERR_OK){
$tmp_name=$_FILES["pictures"]["tmp_name"][$key];
$name=$_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name,"data/$name");
}
}
?>

--------------------------------------------------------------------------------
上一页上一级下一页
38.处理XForms起始页错误信息说明

㈩ php怎样处理网页前端上传的文件

可以的,首先,你form编码类型要改成"multipart/form-data" ,否则文件传不了。其次就是限制大小主要代码如下,请参考
if($_FILES["file"]["size"]>1339392)//1339392=1.27M
{
echo "文件太大";
}
else
{
echo "可以上传";
$uploaddir="images/upfile/zpimage/"; //这是文件保存的目录,自行修改
$uploadfile=$uploaddir.basename($_FILES["file"]["name"] );
move_uploaded_file( $_FILES["file"]["tmp_name"] , $uploadfile); //执行上传
}

热点内容
怎么进别人的服务器 发布:2025-05-14 22:45:55 浏览:772
用编程写音乐 发布:2025-05-14 22:45:08 浏览:782
如何识别电脑的网络配置 发布:2025-05-14 22:38:46 浏览:847
pipforpython3 发布:2025-05-14 22:38:34 浏览:350
如何把迷你世界的服务器搞崩 发布:2025-05-14 22:37:15 浏览:94
如何让安卓卡死机 发布:2025-05-14 22:36:27 浏览:634
wemall微商城源码 发布:2025-05-14 22:15:20 浏览:804
隆地优选交易密码是什么 发布:2025-05-14 21:53:23 浏览:96
强酸强碱存储柜 发布:2025-05-14 21:45:16 浏览:565
车辆参数配置包括什么 发布:2025-05-14 21:31:03 浏览:164