當前位置:首頁 » 編程語言 » 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 19:13:23 瀏覽:459
安卓機微信怎麼設置紅包提醒 發布:2025-05-14 19:00:15 瀏覽:271
androidsystem許可權設置 發布:2025-05-14 18:56:02 瀏覽:970
mq腳本 發布:2025-05-14 18:45:37 瀏覽:25
仙境傳說ro解壓失敗 發布:2025-05-14 18:45:01 瀏覽:868
betweenand的用法sql 發布:2025-05-14 18:39:25 瀏覽:250
tplink攝像頭存儲卡格式化 發布:2025-05-14 18:37:08 瀏覽:347
安卓平板怎麼安裝excel的軟體 發布:2025-05-14 18:35:44 瀏覽:42
廣州數控圓弧編程實例 發布:2025-05-14 18:25:00 瀏覽:401
搭建伺服器能使用nodejs開發嗎 發布:2025-05-14 18:24:14 瀏覽:136