php より転載 中国語ユーザー 5. その他雑記
5.1 画像の生成
PHP では画像の操作や加工が可能です。 GD ライブラリがインストールされている場合は、PHP を使用してイメージを生成することもできます。
Header("Content-type: image/gif");
$string=implode($argv," ");
$im = imagecreatefromgif("images/button1.gif");
$orange = ImageColorAllocate($im, 220, 210, 60);
$px = (imagesx($im)-7.5*strlen($string))/2;
ImageString($im,3,$px,9,$string,
他のページでは、次のタグ を通じて呼び出され、上記の button.php3 コードがテキスト値を取得し、その値を別途取得した画像ファイルに追加します。上記のコード内の画像ファイルは、images/button1.gif です。最終的にブラウザに出力されます。フォーム フィールドでイメージ ボタンを使用したいが、ボタン上のテキストが変更されるたびに新しいイメージを再生成する必要がない場合は、この簡単な方法を使用してイメージ ファイルを動的に生成できます。
5.2 Cookie
PHP は HTTP ベースの Cookie をサポートしています。必要に応じて、通常の変数と同じように簡単に Cookie を使用できます。 Cookie はブラウザがクライアントに保存する情報であり、特定の PC 上の誰かがサイトを訪問したかどうか、訪問者のサイト上での軌跡などを知ることができます。 Cookie の使用の典型的な例は、ブラウザの設定のスクリーニングです。 Cookie は関数 setcookie() によって設定されます。 HTTP ヘッダーを出力する関数 header() と同様に、実際のコンテンツがブラウザーに出力される前に setcookie() を呼び出す必要があります。以下は簡単な例です:
if (empty($VisitedBefore))
{
// Cookie が設定されていない場合は、現在の時刻値を Cookie に割り当てます
// 関数の最後のパラメータは次のように宣言しますCookie 保存された時間
// この例では 1 年です
// time() 関数は、1970 年 1 月 1 日からの時間を秒単位で返します
SetCookie("VisitedBefore", time(), time() +(60 *60*24*365));
}
else
{
// 訪問者の皆様、また来てください
echo "こんにちは、おかえり
"
// Cookie を読んで
if ( (time( ) - $VisitedBefore) >= "(60*60*24*7)" )
echo "なぜ戻ってくるのに 1 週間もかかったのですか。もっと頻繁にここに来る必要がありますか? ";
5.3 HTTP ベースの認証
PHP が CGI モードで実行されている場合、HTTP ベースの認証は実装できません。関数 header() を使用して HTTP ヘッダーを送信して認証を強制すると、クライアント ブラウザーにユーザー名とパスワードを入力するためのダイアログ ボックスが表示されます。これら 2 つの変数は $PHP_AUTH_USER と $PHP_AUTH_PW に保存されており、これらの 2 つの変数を使用して正当性を検証し、エントリを許可できます。次の例では、ユーザー名とパスワードのペアを使用して tnc/nature へのユーザーのログインを認証します。
if(!isset($PHP_AUTH_USER))
{
Header("WWW-Authenticate: Basic realm="My Realm"") );
Header("HTTP/1.0 401 Unauthorized");
echo "ユーザーがキャンセルボタンを押した場合に送信するテキスト";
終了;
}
else
{
if ( !($PHP_AUTH_USER=="tnc " && $ PHP_AUTH_PW=="nature") )
{
// ユーザー名とパスワードの組み合わせが間違っている場合は、再認証を強制します
Header("WWW-Authenticate: Basic realm="My Realm"");
Header( "HTTP /1.0 401 Unauthorized");
echo "エラー : $PHP_AUTH_USER/$PHP_AUTH_PW が無効です。";
exit;
}
else
{
echo "ようこそ tnc!";
}
?>
実際 実際参照すると、上記のコード スニペットでは明らかなユーザー名とパスワードのペアが使用される可能性は低く、代わりにデータベースまたは暗号化されたパスワード ファイルを使用してアクセスします。
5.4 ファイルアップロード
ファイル機能を実装するには、PHP を使用できます。クライアントのブラウザは Netscape3 以降または IE3 以降である必要があることに注意してください。以下はこの機能の説明です:
(upload.html):
ENCTYPE="multipart/form-data" METHOD=POST>
NAME="MAX_FILE_SIZE" VALUE="2000000">
NAME="アップロードファイル" SIZE="24" MAXLENGTH="80">
名前="送信">
NAME="cancelit">
(ファイルをアップロードする際に、わずかな
遅延が発生することに注意してください。)
下は処理上传的文章:
(receiver.php3 ):
function do_upload ()
{
global $uploadfile, $uploadfile_size;
global $local_file, $error_msg;
if ( $uploadfile == "none" )
{
$error_msg = "アップロードするファイルが指定されていません。 ";
return;
}
if ( $uploadfile_size > 2000000 )
{
$error_msg = "申し訳ありませんが、ファイルが大きすぎます。";
return;
}
$the_time = time ();
// 你必要对以下目录有写权制限
$upload_dir = "/local/uploads";
$local_file = "$upload_dir/$the_time";
if ( file_exists ( '$local_file' ) )
{
$seq = 1;
while ( file_exists ( "$upload_dir/$the_time$seq" ) ) { $seq++; }
$local_file = "$upload_dir/$the_time$seq";
};
rename ( $uploadfile, $local_file );
display_page ();
}
function display_page ()
{
// 此里是你的页面内容
}
if ( $error_msg ) { echo "$error_msg
"; }
if ( $sendit )
{
do_upload ();
}
elseif ( $cancelit )
{
header ( "Location: $some_other_script" );
exit;
}
else
{
some_other_func ();
}
?>
5.5 常用関数数
我们简单は、いくつかの常用関数を参照します。数集合元素个数
sort - 数组排序、另有その他几种排序関数数提供可能
list - 列出数组元素
each - 返される下一キー/値对
current - 返される当前数组元素
next,prev - 回帰当前数组元素前後指针
日期和時間间
checkdate - 验证日期/時間间格式
date - 生成日期/時間间格式 当
time -前時間间情報
strftime - 格式化日期/時間间
目录、文件系统
chdir - 変更目录
dir - 目录类别
opendir、readdir、closedir - 开启、读取、关闭目录
fopen、fclose - 开启、关闭文件
fgets、fgetss - 逐次读取内容
file - 文書を一か所にまとめます数组变量中
正则表达式
ereg - 適合正则表达式
eregi - 大小写敏感非適合正则表达式
ereg_replace -適合正则表达式并换
eregi_replace -大小写非感応配正则表达式并替换
分割 - 依规则切开字符串并以数组形势存储
字符串
AddSlashes - 加上斜杠後使用字符串
echo - 输出一个または多个字符串
join, implode -并字符串
htmlentities, htmlspecialchars - 将HTML特殊文字转换はHTML标记形式
split - 依规则切开字串并以数组形势存储
5.6 扩展我们的范例主页
我们用上のいくつかの関数和私たちのアイデアの例として、メインページにさらに多くの動的なコンテンツを追加するというアイデアがあります。各ページのトップ部分にナビゲーションを追加し、同時に現在の自動表示を維持し、同時に、音声、画像の送信を容易にするためにユーザー テスト テーブルを追加することもできます。
ナビゲーション
実際には、footer.inc のファイルに追加される第 1 段コードです。存存するinclude/navbar.incの代码:
/* 输出该导航栏,链接全部除当前页的站内.php3文件 */
# 读取目录
$d = dir("./") ;
echo "
| n";
while($entry = $d->read())
{
// 忽略無文件情况
if ( !is_file($entry) )
continue;
/* 将文件名与扩展名分开。. は正規表現の特殊文字であるため、 */
list($filenm, $fileext) = split(".",$entry, 2);
// .php3 以外のファイルを無視します
if ( $fileext != "php3" )
続行;
/* すべての .php3 ファイルを選択したので、$title="something";
と同様に、ファイル内の最初の行 (タイトル) を検索しましょう
そして上記のタイトル コンテンツを分離し、リンク テキストとして使用します*/
$linknm = "";
$fp=fopen($entry,"r");
while($buffer=fgets($fp, 4096))
{
$buffer = trim( $buffer);
// 検索しやすいように、ファイルの最初の行に各ファイルのタイトルを入れています
// ただし、変数名を変更すると *迷惑になる可能性があります
if (ereg( "title *= * "", $buffer))
{
/* タイトルのコンテンツを取得したので、
スペースの削除やそれに基づくその他の処理が可能です
$title = "何とか何とか』のような PHP コードで処理する必要があります" */
eval($buffer);
// 次に、リンクテキストをタイトルテキストとして表示します
$linknm = $title;
break;
}
}
fclose($fp);
if ( $entry == Basename($PHP_SELF) )
echo "$linknm";
else
echo "$linknm";
echo " | ";
}
$d-> ;close();
echo "
?>
写真コレクション
画像ファイルが保存されているディレクトリを維持するために、HTTP ベースの認証、ファイル システム関数、およびファイル アップロード関数を参照します。
同時に、このディレクトリ内のすべての写真をリストするページを作成する必要があります。
ファイルアップロード
include("include/common.inc");
// ここで別のユーザー認証を行ってみましょう
if(!isset($PHP_AUTH_USER))
{
Header("WWW-Authenticate : Basic realm="$MySiteName"");
Header("HTTP/1.0 401 Unauthorized");
echo "申し訳ありませんが、ファイルをアップロードする権限がありませんn";
exit;
}
else
{
if ( ! ($ PHP_AUTH_USER==$MyName && $PHP_AUTH_PW==$MyPassword ) )
{
// ユーザー名とパスワードのペアが間違っている場合は、再認証を強制します
Header("WWW-Authenticate: Basic realm="My Realm"" ) ;
Header("HTTP/1.0 401 Unauthorized");
echo "エラー: $PHP_AUTH_USER/$PHP_AUTH_PW が無効です。
";
exit;
}
}
if ( $cancelit )
{
/ /訪問者が「キャンセル」ボタンを押すと、ホームページにリダイレクトされます
header ( "Location:front_2.php3" );
exit;
}
function do_upload () {
global $userfile, $userfile_size, $userfile_name , $userfile_type ;
global $local_file, $error_msg;
global $HTTP_REFERER;
if ( $userfile == "none" ) {
$error_msg = "アップロードするファイルが指定されていません。";
return;
}
if ( $userfile_size > 2000000 )
{
$error_msg = "申し訳ありませんが、ファイルが大きすぎます。";
return;
}
// 以下の書き込み権限がある場所ならどこでも...
$upload_dir = "写真" ;
$ local_file = "$upload_dir/$userfile_name";
if ( file_exists ( $local_file ) ) {
$error_msg = "申し訳ありませんが、その名前のファイルは既に存在します";
return;
};
//また、ファイル名とタイプのチェックを使用して、ファイルの種類を判断します: gif、jpg、mp3...
rename($userfile, $local_file);
echo "ファイルはアップロードされました
n";
echo "戻る
n";
}
$title = "ファイルをアップロード";
include("include/header.inc");
if (empty($userfile) || $userfile=="none")
{
// 次のフォームを出力します
?>
(ファイルのアップロード中に若干の遅れが生じる場合があります.)< ;/I>
} else {
if ( $error_msg ) { echo "$error_msg
";
if ( $sendit ) {
do_upload ();
}
}
include("include/common.inc");
?>
フォトギャラリー
include("include/common.inc") inc");
$title = "ギャラリー";
include("include/header.inc");
?>
ここに私たちの家族の写真がいくつかあります。この PHP スクリプトは実際に
作ることができます
$d = dir("photos");
while($entry = $d->read())
{
if (is_file) ("photos/$entry") )
echo "

}
$d->close();
?>
include ("include/footer.inc" );
?>
さらに、アップロードされたファイルを説明する入力要素をファイル アップロード フォームに追加できます。この要素はファイルに保存され、上記のフォト ギャラリーのコードによって読み取られて表示されます。
)

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPにより、インタラクティブなWebコンテンツを簡単に作成できます。 1)HTMLを埋め込んでコンテンツを動的に生成し、ユーザー入力またはデータベースデータに基づいてリアルタイムで表示します。 2)プロセスフォームの提出と動的出力を生成して、XSSを防ぐためにHTMLSPECIALCHARSを使用していることを確認します。 3)MySQLを使用してユーザー登録システムを作成し、Password_HashおよびPreprocessingステートメントを使用してセキュリティを強化します。これらの手法を習得すると、Web開発の効率が向上します。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

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

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
