プログラミング|ヒント
PHP プログラミングの 4 つの一般的なヒント
1. PHP ファイルのディレクトリを設定する
PHP プログラムはサーバーによって解釈され実行されるスクリプト言語であるため、通常はサーバーからアクセスできるディレクトリに配置されます。 Apache の httpd.conj を変更することで、たとえばファイル内の文:
Alias /test/ "d:/phpwebsite/php/" 次に、次のように入力します: "http://localhost/test/+PHP ファイル名"ブラウザ側で d:/ phpwebsite/php/ にある PHP ファイルにアクセスすると、この行は PHP ファイルが保存されているディレクトリのエイリアスにすぎないことがわかります。
次に、DocumentRoot パスを指定して、サーバー ファイルが保存されているディレクトリを取得することもできます。このパスは、このディレクトリに任意に指定することもできます。 、「http://localhost/+PHP ファイル名」など、サーバーでも実行できます。
一般に、管理しやすいように PHP ファイルを同じ場所に置き、他のファイルは別の場所に置くことをお勧めします。
DocumentRoot "C:/usr/bin/html/"
2. サーバー側ディレクトリのインデックスファイル
httpd.conj には、次の行があります:
DirectoryIndexindex.html
この行は、デフォルトのディレクトリ内のオープンファイルはindex.htmlであり、ディレクトリにアクセスすると、サーバーは自動的にindex.htmlを検索し、ディレクトリ内のすべてのファイルのリストが表示されます。デフォルトのオープンファイルは変更できます。 Index.php3 などの他のファイルに保存しますが、画像、テキスト、その他のマテリアルを保存するディレクトリ、または PHP ファイルやその他のファイルを保存するディレクトリをユーザーに見せたくない場合があります。たとえば、ワードパッドを使用して .htacess ファイルを作成します:
# .htacess #
DirectoryIndex error_open.php
エラー警告ファイルを作成します:
# error_open.php #
error_open.php は、これら 2 つのファイルをすべての保護されたディレクトリに配置します。実行するとエラー警告が表示されます。
3. ディレクトリの削除は巧妙に実現されています
PHP4 for/win32 には、次のようなディレクトリ/ファイルの名前変更をサポートできる rename() 関数があることがわかっています:
rename(oldpath, newpath) // oldpath は元のファイルまたはディレクトリのパス;
// newpath は新しく定義されたパスです
oldpath の名前を newpath に変更します。
PHP4にはディレクトリやファイルを削除する機能がありません。どうすれば削除できますか? php.ini には、HTTP アップロード操作を完了するために使用される一時ファイル ディレクトリ設定行があることがわかっています:
upload_tmp_dir=;
PHP4 は、この一時ディレクトリの設定をサポートしています (アップロード操作がサポートされていない場合)。完了すると、一時ディレクトリは自動的にクリアされます。これを使用して、次の設定のようにファイル/ディレクトリを賢く削除できます。
特定のディレクトリ パスを削除するには、実行:
tmp="d :/phpwebsite/php/tmp/;"
rename( path, tmp)
?> 次に、ファイルまたはディレクトリのパスの名前が tmp に変更された後、tmp 内のすべてのファイル/ディレクトリがディレクトリが自動的にクリアされ、削除操作が完了します。
4. MySql データベーステーブルを素早く作成する
PHP と MySql データベースは完璧な組み合わせに達しました。たとえば、フォーラムや書店で作品を公開する新しいユーザーは、その発言情報をデータベースに書き込む必要があります。オンライン。多くの場合、対応するデータベースにこのユーザーの新しいデータ テーブルを作成する必要があります。 win32 で新しい空の MySQL データベースを作成するのは非常に簡単です。「/mysql/data/」ディレクトリに「/usrinfo/」などのフォルダーを作成するだけです。ライブラリに新しいテーブルを追加するには、次の手順を実行します。 php -- ユーザー名をテーブル名として次の構造のデータテーブルを作成します #
//Call connect.mysql
require("connect.mysql");
//ユーザー名を持つデータテーブルがあるかどうかを確認しますテーブル名が存在する場合は?
query="select count(*) from usrname";
result=mysql_db_query(query); 存在しない場合は作成します
if(! result){
mysql_query("
create table usrname (
id tinyint(6),
title text,
body longtext,
dateof date;
timeof time;
)") または die(mysql_error());
}
//ここではデータ テーブル データ部分に新しいデータを挿入しています
?>
原著者: Luo Ji
出典: Huajun Software Park