Time of Update: 2017-06-25
include 語句包含並運行指定檔案。以下文檔也適用於 require 。被包含檔案先按參數給出的路徑尋找,如果沒有給出目錄(只有檔案名稱)時則按照 include_path 指定的目錄尋找。如果在 include_path 下沒找到該檔案則 include 最後才在呼叫指令碼檔案所在的目錄和當前工作目錄下尋找。如果最後仍未找到檔案則include 結構會發出一條警告;這一點和 require 不同,後者會發出一個致命錯誤。如果定義了路徑——不管是絕對路徑(在 Windows 下以盤符或者 \
Time of Update: 2017-06-25
網站使用了thinkphp5架構,伺服器採用wdcp搭建的然後將公用檔案上傳到了/website/public_html目錄中其他不可訪問的架構檔案放在了/website/目錄中但是當php require /website/目錄中的一些類的時候,他會提示Failed opening required 估計是wdcp的設定導致沒有許可權附上wdcp中apache的設定<VirtualHost *:88>DocumentRoot
Time of Update: 2017-06-28
PHP中, 傳遞Callback的方式, 一直很醜陋. 在PHP5.3以前, 我們只有倆種選擇: 字串的函數名使用create_function的傳回值在PHP5.3以後, 我們多了一個選擇, 也就是Closure,$func = function () { ... };array_walk($arr, $func);從實現上來說, 第一種方式: 傳遞函數名字串是最簡單的.而第二種方式create_function, 其實和第一種方式本質上一樣的,
Time of Update: 2017-06-28
PHP4種標記風格1.XML風格<?phpecho "這是XML風格標記";?>2.指令碼風格<script language="php">echo "這是指令碼風格標記";</script>3.簡短風格<?echo "這是簡短風格標記";?>4.ASP風格<%echo "這是ASP風格標記";%> 注釋單行: //多行: /
Time of Update: 2017-06-28
1.使用資料庫: 串連資料庫: $con = mysql_connect($hostname, $user, $pass); 串連成功返回一個串連標識符,否則返回false 選擇資料庫: mysql_select_db('info'); //傳回值為布爾類型 設定資料庫字元集: mysql_query('set names utf8'); 斷開資料庫連結: mysql_close($con);
Time of Update: 2017-06-26
隨著PHP的快速發展,用它的人越來越多,在PHP數組學習摘錄部分瞭解到最基本的PHP數組的建立和數組元素的顯示。需要深入學習下PHP數組的相關操作。首先接觸的就是PHP數組排序、降序的排序問題。sort:本函數為 array 中的單元賦予新的鍵名。這將刪除原有的鍵名而不僅是重新排序。 rsort:本函數對數組進行逆向排序(最高到最低)。 刪除原有的鍵名而不僅是重新排序。 asort:對數組進行排序並保持索引關係 arsort:對數組進行逆向排序並保持索引關係
Time of Update: 2017-06-24
declare 結構用來設定一段代碼的執行指令。declare 的文法和其它流程式控制制結構相似:directive 部分允許設定 declare 程式碼片段的行為。目前只認識兩個指令:ticks(更多資訊見下面 ticks 指令)以及encoding(更多資訊見下面 encoding指令)。Note: ticks 指令在 PHP 5.3.0 中是過時指令,將會從 php 6.0.0 移除。encoding 是 PHP 5.3.0 新增指令。Tick 是一個在 declare
Time of Update: 2017-06-28
1)選擇性參數函數.例如:<?phpfunction add($var1,$var2,$var3=0,$var4=0){ return $var1+$var2+$var3+$var4;}echo add(1,1); //輸出2echo add(1,1,1); //輸出3echo add(1,1,1,1);//輸出4echo add(1); //出錯:必須給出參數2echo
Time of Update: 2017-06-27
多檔案的上傳實現1 利用單檔案封裝<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html;
Time of Update: 2017-06-24
PHP只是以HTTP協議將HTML文檔的標題送到瀏覽器,告訴瀏覽器具體怎麼處理這個頁面,至於傳送的內容則需要熟悉一下HTTP協議了,與PHP無關了,可參照header()函數使用說明: 一、作用: ~~~~~~~~~ PHP只是以HTTP協議將HTML文檔的標題送到瀏覽器,告訴瀏覽器具體怎麼處理這個頁面,至於傳送的內容則需要熟悉一下HTTP協議了,與PHP無關了。 傳統的標題一定包含下面三種標題之一,並只能出現一次。 Location:
Time of Update: 2017-06-27
上傳相關限制1 用戶端限制<form action="doAction2.php" method="post" enctype="multipart/form-data"><input type="hidden" name="MAX_FILE_SIZE" value="101321" />請選擇您要上傳的檔案:<input
Time of Update: 2017-06-22
使用數組數組是一個可以儲存一組或一系列數值的變數。一個數組可以具有許多個元素。每個元素有一個值,例如文本、數字或另一個數組。一個包含其他數組的數組稱為多維陣列。什麼是數組一個標量變數就是一個用來儲存數值的命名地區。同樣,一個數組就是一個用來儲存一系列變數值的命名地區,因此,可以使用數組組織標量變數。儲存在數組中的值稱為數組元素。每個數組元素有一個相關的索引(也稱為關鍵字),它可以用來訪問元素。在大多數程式設計語言中,數組都具有數字索引,而且這些索個通常是從0或1開始的。數字索引數組在PHP中,數
Time of Update: 2017-06-22
介紹正常我們的foreach可以按順序把一維數組裡面每個 key => value 列印出來,但是如果是多維陣列則需要迴圈在嵌套迴圈,或則遞迴實現,但是這些方式都不夠靈活,因為在不確定該數組是幾維的情況下,不可能永無止境的嵌套迴圈,如果採用遞迴到可以解決,但是如果只想使用foreach全部迴圈出來該如何??實現方式 一採用PHP本身內建的迭代器類 RecursiveIteratorIterator $test_arr = array(1,2,3,array(4,'aa'=
Time of Update: 2017-06-27
PHP 尋找字串常用函數介紹,主要是介紹strstr的使用一、strstr — 尋找字串的首次出現 string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) 注1:$haystack是當事字串,$needle是被尋找的字串。該函數區分大小寫。 注2:傳回值是從needle開始到最後。 注3:關於$needle,如果不是字串,被當作整形來作為字元的序號來使用。
Time of Update: 2017-06-27
常見疑難問題解答1、rand(min,max)與mt_rand(min,max)的區別如果沒有提供選擇性參數 min 和 max,mt_rand() 返回 0 到 RAND_MAX 之間的偽隨機數。例如想要 5 到 15(包括 5 和 15)之間的隨機數,用 mt_rand(5, 15)。很多老的 libc 的隨機數發生器具有一些不確定和未知的特性而且很慢。PHP 的 rand() 函數預設使用 libc 隨機數發生器。mt_rand() 函數是非正式用來替換它的。該函數用了 Mersenne
Time of Update: 2017-06-22
PHP的代碼架構PHP所有的部分都處在一個被稱為TSRM的層中, TSRM層是負責安全執行緒管理的. 最底下的SAPI是對外提供服務的介面, 比如命令列的sapi為cli, php-fpm則是fastcgi的sapi, apache的模組方式也是一種sapi. PHP核心和Zend 引擎. PHP核心負責要求管理/網路和檔案操作, Zend核心則負責編譯和執行/記憶體和資源的分配.在所有這些之上, 是擴充層, PHP中多數對外介面都是通過擴充層來提供的, 比如, standard,
Time of Update: 2017-06-22
在一些必要的情境我們不得不自己開發出自己的本地PHP函數滿足一些特定的需求,而新的函數必須存在於PHP模組中。下面將介紹最簡單的PHP模組開發:構建自己的say_hello($arg)函數來輸出hello world : $arg。本文檔介紹的PHP模組開發僅僅是動動手做做hello world的程度,關於為什麼這麼做暫時不會介紹太多,更加詳細的介紹後續解剖。下面通過簡單的幾個步驟可以完成模組hello world層級的模組:產生模組基礎結構修改模組代碼,添加say_hello
Time of Update: 2017-06-22
continuecontinue 在迴圈結構用用來跳過本次迴圈中剩餘的代碼並開始執行下一次迴圈。注: 注意在 php教程 中 switch 語句被認為是作為 continue 目的的迴圈結構。continue 接受一個可選的數字參數來決定跳過幾重迴圈到迴圈結尾。<?php while (list($key,$value) = each($arr)) { if ($key == "zhoz") { //
Time of Update: 2017-06-26
首先需要下載PHPExecel類檔案,協助文檔可以參考PHPExcel中文協助手冊|PHPExcel使用方法。下面直接上例子,是我自己寫的一個簡單的大量匯出資料為excel的例子前台頁面 比較簡單,就是一個超連結,跳轉到處理頁面,超連結也可以跟一些參數(看需求)!<a href="./Process1.php">匯出excel表格</a>後台Process.php頁面 expExcel(, 'PHPExcel.php' = ->
Time of Update: 2017-06-21
/*前端控制器的主要組成部分及功能如下:1、入口檔案類controller;(對這個系統的調用都是從這個檔案開始的,也相當於一個控制中心,對所有相關的類進行調用)2、應用程式配置資訊類applicationhelper;(用於擷取應用程式所需的配置資訊)3、命令類解譯器commandresolver;(根據使用者請求調用相應的命令類)4、命令類command;(調用使用者請求資訊類和商務邏輯,還可以調用視圖檔案)整個系統的調用步驟大概就是:1、擷取程式所需的配置資訊2、擷取命令類3、執行命令類前