PHP チュートリアル: 経験とスキル (パート 2)_PHP チュートリアル
Jul 13, 2016 pm 05:21 PM
3. ファイルは私たちの友達です
開発している Web サイトの規模に関係なく、コードが HTML コードであっても PHP コードであっても、コードを再利用することの重要性を認識する必要があります。たとえば、著作権情報を含むフッターは少なくとも年に 1 回は変更する必要がありますが、1,000 ページあるサイトの場合、これは煩わしい作業です。
PHP には、コードの再利用を実現するのに役立つ関数が少なくともいくつかあります。使用される関数は、再利用するコードによって異なります。主な関数は次のとおりです。
* include() と include_once()
* require( ) と require_once()
include() 関数は、指定されたファイルをインクルードし、そのファイルに対して計算を実行します。例:
include(/home/me/myfile);
インクルード ファイル内のコードはすべて include( )、include() と fopen() を組み合わせて使用すると、自分のサーバー上の静的ファイルと別のサーバー上のターゲット ファイルをインクルードできます。
include_once() の関数は include() と同じです。 2 つの違いは、ファイル内のコードが既存のスクリプトに既にインクルードされているかどうかを確認することです。コードが既に存在する場合、そのコードはインクルードされません。また。
require() 関数は、それ自体を指定されたファイルの内容に置き換えます。この置換プロセスは、include() のように最初に計算されるのではなく、PHP エンジンがコードをコンパイルするときに発生します。 require() 関数は静的要素でよく使用され、include() は動的要素でよく使用されます。 include_once() と同様に、require_once() は、指定されたコードが挿入されているかどうかを最初に確認します。コードがすでに存在する場合、そのコードは再度挿入されません。
その内容を理解するために、変数を含まない、または他の実行スクリプトに依存しない、著作権情報、静的テキスト、その他の要素で require 関数を使用することを好みます。例:
<HTML>
<HEAD><TITLE>Something</TITLE></HEAD>?
/ / 著作権を挿入
require(/home/me/mycopyright);
?>
</BODY>
多くの機能を制御するには:
<HEAD><TITLE></TITLE></HEAD> <BODY>
[aコンテンツが豊富です]
</BODY>
</HT ML>
次の質問は、「インクルード ファイルと必須ファイルはどこにあるのか?」というものです。コードにユーザー名とパスワードを使用したデータベース接続が含まれている場合、それらはドキュメント ルートに配置され、誰でも公開されます。
インクルードまたは必須のファイルは、PHP が実行されているシステム上のユーザーがアクセスできる限り、システム上のどこにでも置くことができ、これらのファイルに任意のサフィックスを付けることも、サフィックスを使用しないこともできます。
Web サイト内の要素を指定するために include() と require() を使用するのは一般的な現象であり、Web サイトをアップグレードする必要がある場合に非常に便利です。
4. PHP とファイルシステムのメンテナンス
PHP にはファイルシステムに関連する機能がたくさんあり、これらの機能はファイルを開くだけでなく、ディレクトリの内容を表示したり、ファイルを移動したりすることもできます。 PHP はインターネット ベースのファイル エクスプローラーを開発します。
ファイルパスの説明: Windowsではパスに/と記号を使用できますが、他のオペレーティングシステムでは/記号のみ使用できます。一貫性を保つために、/ 表記を一律に使用します。
次のスクリプト例はディレクトリリストを表示することができ、コードにはコメントが含まれています:
<? /*読み込むディレクトリのフルパス名を$dir_nameという変数に保存します。*/
$dir_name = "/home/me/";
/* 指定されたディレクトリを開いた結果を値とするハンドルを作成します */
$dir = opendir($dir_name); /* 作成しますリスト要素 (ファイル名) を配置するテキスト ブロック */
$file_list = "<ul>";
/* ファイル名が " でない場合は、while ステートメントを使用して、開いたディレクトリ内のすべての要素を読み取ります。 ." または ".." の場合、リスト内の名前が表示されます*/
while ($file_name = readdir($dir)) {
if (($file_name != ".") && ($ file_name ! = "..")) {
$file_list .= "<li>$file_name";
}
$file_list .= "</ul>"
/*閉じるディレクトリを終了し、PHP モジュールを終了します*/
closedir($dir);
<!-- HTML を開始します
<HTML> t ;ディレクトリリスト</TITLE>
; <BODY> ;ファイル: <></p> PHP を使用してディレクトリのリストを出力します -->? echo "$file_list" ?>
</HTML> 。ファイル (これについては後ほど説明します) またはディレクトリの内容を読み取るには、PHP が実行されているシステム上のユーザーが少なくともそのファイルに対する読み取り権限を持っている必要があることに注意してください。
以下はファイルをコピーする方法の例です:
<? /*コピーする元のファイルのフルパスを $original という名前の変数に代入し、コピーしたファイルのフルパスを に代入します。 $original という変数内に */
$original = "/home/me/mydatabasedump";
$copied = "/archive/mydatabasedumo_1010"; /* copy() 関数を使用します。コピーが完了していない場合は、元のファイルをコピーします。 エラー メッセージが表示されます*/
@copy($original, $copied) or die("Couldnt copy file.");例は、ファイル バックアップ システムのプロトタイプです。このスクリプトを実行すると、ファイルが別の場所にコピーされて保存されます。デーモンをわずかに変更して、ユーザーの介入なしで指定した時刻に実行できるようにします。
システムに Lynx がインストールされていると仮定すると、このファイルにアクセスするためのデーモン エントリを作成できます。このファイルにアクセスすると、このスクリプトが実行され、ファイルのコピーが作成されます。次の例では、このスクリプトを 5 時に実行します。 Lynx:
0 5 * * * [username] lynx -dump http://localhost/copyfile.php 1>/dev/null 2>&1
CGI バージョンを実行している場合。 PHP では、Lynx 部分をスキップして、バイナリ ファイルを直接呼び出すことができます:
0 5 * * * [username] php /path/to/copyfile.php 1>/dev/null 2>&1
5。関数
PHP 4.0 で新たに追加された 30 個 グループの数に関連する関数がいくつかあり、配列に要素が含まれているかどうかを判断したり、配列内の要素をカウントしたり、配列内の要素を追加または削除したり、要素を並べ替えたりすることができます。配列。
大きな配列があり、それに特定の要素が含まれているかどうかを確認する必要がある場合は、in_array() を使用できます。次の例では、$namesArray という名前の配列で Albert を検索していますが、そのような要素は $namesArray 配列に存在しないため、「この配列には見つかりません」と表示されます。
< $namesArray = array("ジョー", "ジェーン", "メアリー", "エディ", "ジョン"); $ LookingFor = "アルバート"; if (in_array($lookingFor, $namesArray)) {
echo "見つかりました!";
echo "この配列には見つかりません!"
?> $ LookingFor の値を Mary に変更すると、Mary は $namesArray 配列の要素であるため、「見つかりました!」というメッセージが表示されます。
配列内の要素の数を数えたい場合は、単に count() 関数を使用します:
<? $namesArray = array("Joe", "Jane", "Bob", "Mary ", " Paul", "Eddie", "John");
$count = count($namesArray); ?>
返される $count の値は 7 です。
配列の先頭または末尾に要素を追加できます。また、array_merge() を使用して、2 つ以上の配列の要素を含む新しい配列を作成することもできます。マージすると、要素の順序は指定された順序になります。 order. 元の配列がソートされており、マージ後に並べ替える必要がある場合。
まず array_push() を使って配列の最後に要素を追加します:
<? /* 配列を作成します*/
$fruitArray = array("apple", "orange", "banana" , " kiwi", "pear");
/*配列に要素を追加*/
array_push($fruitArray, "grape", "pineapple", "Tomato"); /* 各要素とその要素を表示しますシリアル番号 */
while (list($key,$value) = each($fruitArray)) {
echo "$key : $value
"
}
?>上記プログラムでは以下の結果が得られます:
1:オレンジ
2:バナナ
3:キウイ
4:梨
5:ブドウ
6:パイナップル
7:トマト
必要に応じて追加要素を配列の先頭に追加する場合、コードは上記のコードと似ていますが、唯一の違いは、array_push() の代わりに array_unshift() を使用する必要があることです。
<
/* 配列を作成します*/
$fruitArray = array("apple", "orange", "banana", "kiwi", "pear"); /* 配列に追加しますElements*/
array_unshift($fruitArray, "grape", "pineapple", "Tomato");
/* 各要素とそのシリアル番号を表示*/
while (list($key,$value) = each ($fruitArray)) {
echo "$key : $value<br>"
}
http://www.bkjia.com/PHPjc/532519.html
www.bkjia.com
本当
http://www.bkjia.com/PHPjc/532519.html

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法
