php代碼(php代碼格式)

本文目錄一覽:

PHP程序代碼

?php

if(!defined(‘CORE_ROOT’)) exit();

require CORE_ROOT.’include/admin.inc.php’;

require_once CORE_ROOT.’include/image.func.php’;

if(isset($_SERVER[‘HTTP_CONTENT_DISPOSITION’])  preg_match(‘/attachment;\s+name=”(.+?)”;\s+filename=”(.+?)”/i’,$_SERVER[‘HTTP_CONTENT_DISPOSITION’], $info)){

$filename = fromutf8(urldecode($info[2]));

if(fileext($filename) == ‘php’) aexit();

$newfilename = get_upload_filename($filename, 0, 0, ‘image’);

$a = file_get_contents(“php://input”);

if(!checkuploadfile($a)) {

uploaddanger($lan[‘danger’]);

} else {

writetofile($a, FORE_ROOT.$newfilename);

}

} else {

$uptype = ‘image’;

if(isset($get_attach)) $uptype = ‘attach’;

$filename = $file_filedata[‘name’];

if(fileext($filename) == ‘php’) aexit();

if(!empty($get_utf8)) $filename = fromutf8($filename);

$newfilename = get_upload_filename($filename, 0, 0, $uptype);

uploadfile($file_filedata[‘tmp_name’], FORE_ROOT.$newfilename);

$piccontent = file_get_contents(FORE_ROOT.$newfilename);

if(!checkuploadfile($piccontent)) {

akunlink(FORE_ROOT.$filename);

uploaddanger($lan[‘danger’]);

}

}

$modules = getcache(‘modules’);

if(ispicture($filename)) operateuploadpicture(FORE_ROOT.$newfilename, $modules[akgetcookie(‘lastmoduleid’)]);

$picurl = $homepage.$newfilename;

$insertarray = array(‘itemid’ = $get_id, ‘filename’ = $newfilename, ‘ispicture’ = 1, ‘filesize’ = filesize(FORE_ROOT.$newfilename), ‘dateline’ = $thetime, ‘originalname’ = $filename);

if(isset($get_attach)) $insertarray[‘ispicture’] = 0;

$db-insert(‘attachments’, $insertarray);

$count = $db-get_by(‘COUNT(*)’, ‘attachments’, “itemid=’$get_id'”);

$db-update(‘items’, array(‘attach’ = $count), “id=’$get_id'”);

$msg = “{‘url’:'”.$picurl.”‘,’localname’:'”.$newfilename.”‘,’id’:’1′}”;

aexit(“{‘err’:”,’msg’:”.$msg.”}”);

function uploaderror($msg) {

aexit(“{‘err’:”,’msg’:”.$msg.”}”);

}

function uploaddanger($msg) {

uploaderror($msg);

}

?

php 代碼如何調試

開啟Apache伺服器以及MY_SQL資料庫。

在PHP集成環境的安裝目錄「www」文件夾中創建我們需要用到的php文件,1.php.

用Notepad++打開1.php文件,然後輸入PHP的語言格式:

?php ?

輸入標準的輸出語言:

?php

echo “Hello world !” //輸出Hello world 語言。 echo 是列印的意思

?

在網頁上輸入localhost:8080/1.php可以調試我們自己寫的php代碼

PHP的簡單運算,用$來定義應用數據,輸出也是一樣。

?php

$sum=1;

$total=1.22;

$sum=$total+$sum;

echo $sum ?

php語言字典代碼

求一PHP演算法,字典生成。時間一到再加100分。如:字元:0-9,長度:1,

那就生成0,1,2,3,4,5,6,7,8,9

長度:2,就會生成00-99

現在要求字元可以包括a-z,或者其他特殊符號,求一高效的生成演算法。

參考答案一

function get_string($strlen){

$source=’0123456789′; //任意字元

$len = strlen($source); //長度

$return = array();

for($i = 0 ;$i $len;$i++){

for($j = 0;$j $strlen;$j++){

$return[$i] .= $i;

}

}

return implode(‘,’, $return);

}

如果輸入長度2: 輸出結果就是:

00,11,22,33,44,55,66,77,88,99

參考答案二

優化了進位演算法:

PHP code =0;$no–){ $word=$source{$series[$no]}.$word; $series[$no]+=$tonext_value; if($no0){ if($series[$no]==$len){ $series[$no]=0; $tonext_value=1; }else{ $tonext_value=0; } } } echo “$word “; } } gene_dic(2); ?

簡單的說,我會把這個理解為0-9(十進位)下十個數字生成兩位數字、可重複的排列問題。

排列演算法我自己建立過的就是簡單的N進位下的+1演算法,保證可以遍歷。

即:

初始化到0,

1. +1

2. 是否超過要生成的位數?否,則回到1;

3. 輸出

參考答案三

PHP code =0;$no–){//循環遍曆數組每次從源字串中取一個字元,為便於進位運算,取字元是從後往前取 $word=$source{$series[$no]}.$word;//先取出一個字元 //取出一個字元後就要判斷當前數組元素如何如果改變值,為下一次「大循環」做準備 if($no==$n-1){//末位的判斷,它比較特殊,每次大循環都要增值 if($series[$no]==$len-1){ $series[$no]=0; $tonext_value=1;//歸零時就進位 }else{ $series[$no]+=1; $tonext_value=0;//未歸零就增值,不進位 } }elseif($no$n-1){//中間位的進位判斷 $series[$no]+=$tonext_value;//先取得上一位的進位值 if($series[$no]==$len){ $series[$no]=0; $tonext_value=1;//歸零了就繼續進位 }else{ $tonext_value=0;//不歸零就不進位 } }else{ $series[$no]+=$tonext_value;//大循環次數決定了「老大」是只進不出的。 } } echo “$word “;//輸入單詞 } } gene_dic(2);//測試,結果OK。

參考答案四

PHP code =0;$no–){//循環遍曆數組每次從源字串中取一個字元,為便於進位運算,取字元是從後往前取 $word=$source{$series[$no]}.$word;//先取出一個字元 //取出一個字元後就要判斷當前數組元素如何如果改變值,為下一次「大循環」做準備 if($no==$n-1){//末位的判斷,它比較特殊,每次大循環都要增值 if($series[$no]==$len-1){ $series[$no]=0; $tonext_value=1;//歸零時就進位 }else{ $series[$no]+=1; $tonext_value=0;//未歸零就增值,不進位 } }elseif($no$n-1){//中間位的進位判斷 $series[$no]+=$tonext_value;//先取得上一位的進位值 if($series[$no]==$len){ $series[$no]=0; $tonext_value=1;//歸零了就繼續進位 }else{ $tonext_value=0;//不歸零就不進位 } }else{ $series[$no]+=$tonext_value;//大循環次數決定了「老大」是只進不出的。 } } echo “$word “;//輸入單詞 } } gene_dic(2);//測試,結果OK。

參考答案五

應該是:

function get_string($strlen){

$source=’0123456789′;

$len = strlen($source);

$return = array();

for($i = 0 ;$i $len;$i++){

for($j = 1;$j = $strlen;$j++){

$return[$i] .= substr($source,$i,1);

}

}

return implode(‘,’, $return);

}

【拓展閱讀】如何開始一門語言的學習

一門語言從發明到演進必有原因。

現在還有很多人推薦學習不同的語言。通過比較,了解它的發展史,

創始人的初心等因素都需要留意。多個思考,這個語言在5年,在10年後還是否保持活力?

當有幾個類似的語言被選擇時,我們不妨對它們做一個Swat分析。

列出這些語言的共同點,還有它們之間的規則差異。

了解語言的發展史

開發語言從彙編開始,如最早的計算機ENIAC,使用的就是它來編程。

再到Fortarin,再到C語言,Cobol,Basic。每一個語言都與當時發展的階段有點密切關聯。

人類的每個發明都與懶惰有關,語言也是為便捷性而生。有的語言

C是除彙編外最重視效率的語言,擴展的C++也繼承了此特性。Perl是做文本處理效率最佳的語言,雖然它的發展有點慢。PHP做Web開發,是「世界上最好的.語言」,Python的閱讀性和大數據處理都做得樣樣俱佳。

當了解語言的歷史沿革後,會讓我們對其創始人有很強烈的興趣,成為忠實的腦殘粉,學習該語言的興趣會更濃烈。

人們常常說某個語言比哪個好,這其實沒有必要。不必要為其它人的語言所惑,需要你自己做出選擇。

語言的共通點

這個星球的人都是一個鼻子兩雙只水汪汪的大眼睛,與人們的模樣一般,編程語言也有一個大致相同的長相。

語法:這是開發此語言定義的規則「套路」:

運算符順序,變數常量定義/作用域,表達式定義,字元串定義,行尾結束符等。

流程式控制制:循環控制

這些語法都是成對的,如if,for,while,foreach,有的語言還提供goto這樣類似彙編語言的語法。

函數與方法

一些能夠復用的高質量代碼組合。函數執行後有返回,有遞歸,有嵌套,還有幹完活就完事的簡單任務。有靜態函數和動態函數區分。

容器

數組,哈希表(也叫散列),字典等用來保存數據的容器。

錯誤/例外處理

現代編程語言基本都支持出錯的拋出,除了C語言之外。

比如硬碟不足,網路出錯,黑客攻擊等情形。就像購物中心裡出現煤氣泄露時,監測設備,物聯網設備能夠及時記錄與傳遞給指揮中心。

沒有錯誤拋出的語言,需要自己考慮儘可能出錯的場景並處理,比如:

if(is_overfllow)

//處理

if(network_error)

//處理

可以還有不少需要關注的維度,這會讓代碼變得艱澀難懂,也難以維護。

我們可以用這樣的方式,讓其更簡潔:

on error goto ERROR

ERROR:

..//

但這總是會需要我們照顧很多情形。於是C++推出了一個語法:

try{

//可能會出錯的代碼

//可能會出錯的代碼

}catch{

//處理出錯的邏輯

//處理出錯的邏輯

}finally{

//出不出錯都要執行的代碼

}

最後一句是微軟公司給業界提供貢獻的finally代碼塊。

以上這些成為語言處理異常機制的基礎。

容器

容器是很重要的一節,所以我們單獨再提出來。很多邏輯處理,使用容器保存數據,該語言會提供便捷的方法來提供存取。

比如C、Perl、PHP、Ruby中均提供的數組和關聯數組,LISP提供的列表,Java、Python提供的元組、鏈表等。

雖然名字相同,但是實現方式卻是完全不同,使用方法當然也不一樣。

沒有萬能的容器,只有最合適的。可以從節省內存,節約時間還是編碼效率等綜合考慮。

字元串與字元編碼

是否支持unicode編碼。從摩斯碼到ASCII到統一的Unicode編碼支持。

並發處理

有的語言在設計時並無此方面的考慮,或者天生設計存在缺陷。

即多線程,多進程的概念。包括共享,鎖,事備等特性。

面向對象

支持類,繼承,模塊,包,命名空間,閉包等。有這些特性才會讓人們的工作變得更便利、更有效率。

小結

學習一門語言的關鍵,需要我們在平靜地心緒下,帶著濃厚的興趣去學習,在比較中學習,在歷史中學習。

有時候感覺還是不夠通暢,先做知識的搬運工也是不錯。另外,不斷的實踐會讓我們的信心更足。

怎麼用php命令執行php代碼

PHP執行命令的四種方法

方法一:使用exec函數執行系統外部命令

原型:function exec(string $command,array[optional] $output,int[optional]

$return_value) 

?

    exec(“dir”,$outPut);

   

print_r($outPut);

?

說明:列出和PHP執行文件同級目錄下的所有目錄及文件信息。

知識點:exec執行系統外部命令時不會輸出結果,而是返回結果的最後一行,如果你想得到結果你可以使用第二個參數,讓其輸出到指定的數組,此數組一個記錄代表輸出的一行,即如果輸出結果有20行,則這個數組就有20條記錄,所以如果你需要反覆輸出調用不同系統外部命令的結果,你最好在輸出每一條系統外部命令結果時清空這個數組,以防混亂。第三個參數用來取得命令執行的狀態碼,通常執行成功都是返回0。

方法二:使用system函數執行系統外部命令

原型:function system(string $command,int[optional] $return_value)

1

2

3

?

    system(“dir”);

?

知識點:system和exec的區別在於system在執行系統外部命令時,直接將結果輸出到遊覽器,如果執行命令成功則返回true,否則返回false。第二個參數與exec第三個參數含義一樣。

方法三:使用函數passthru執行系統外部命令

原型:function passthru(string $command,int[optional] $return_value)

知識點:passthru與system的區別,passthru直接將結果輸出到遊覽器,不返回任何值,且其可以輸出二進位,比如圖像數據。

方法四:反撇號`(和~在同一個鍵)執行系統外部命令

1

2

3

?

    echo `dir`;

?

知識點:在使用這種方法執行系統外部命令時,你要確保shell_exec函數可用,否則是無法使用這種反撇號執行系統外部命令的。

原創文章,作者:HYOJ7,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129340.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
HYOJ7的頭像HYOJ7
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件並生成完整的圖像

    OBJ格式是一種用於表示3D對象的標準格式,通常由一組頂點、面和紋理映射坐標組成。在本文中,我們將討論如何將多個OBJ文件拼接在一起,生成一個完整的3D模型。 一、讀取OBJ文件 …

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在著手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • 怎麼寫不影響Python運行的長段代碼

    在Python編程的過程中,我們不可避免地需要編寫一些長段代碼,包括函數、類、複雜的控制語句等等。在編寫這些代碼時,我們需要考慮代碼可讀性、易用性以及對Python運行性能的影響。…

    編程 2025-04-29

發表回復

登錄後才能評論