検索
ホームページバックエンド開発PHPチュートリアルPHP筆記試験問題の概要、PHP試験問題の概要_PHPチュートリアル

PHP 筆記試験問題の概要、PHP テスト問題の概要

1. リモート画像をローカルにキャプチャするにはどの関数を使用しますか?

fsockopen、A

2. 3 つの値の最大値を見つけます .

function($a,$b,$c){
* W0 z* u6 k+ e. La a: }5 } return $a>$b ($a>$c?) ? $a : $c) : ($b>$c? $b : $c );
5 O: F6 v1 W# U}

3. PHP を使用して、前日の時刻を出力します。形式は 2007 年 5 月 10 日 22:21: 21

Echo date('Y-m-d H:i:s',strtotime('-1 day'));

4. そうでない場合、JavaScript は 2 次元配列を定義できますか? 、どうやって解決できますか?

Javascript は 2 次元配列をサポートしていません 配列定義は arr[0] = new array() を使用することで解決できます

5 a.html と b.html が同じ内にあるとします。 JavaScript を使用して、a.html を開いてから 5 秒後に b.html に移動します。


function go2b(){
window.location = “b.html”;
window.close();
}

setTimeout( “go2b()”,5000 ); //5秒後に自動的にgo2bを実行( )




6, //現在のページを閲覧しているユーザーのIPアドレス: 127.0.0.1
echo $_SERVER["REMOTE_ADDR"]."
";
//クエリの文字列( URL) 最初の疑問符? その後の内容): id=1&bi=2
echo $_SERVER["QUERY_STRING"]."
";
//現在実行中のスクリプトが配置されているドキュメント ルート ディレクトリ: d:inetpubwwwroot
echo $_SERVER[" DOCUMENT_ROOT"]."
";
7. HTTP 1.0 では、ステータス コード 401 の意味は「ファイルが見つかりません」というプロンプトが返された場合、ヘッダー関数を使用できます。ステートメントは header("HTTP /1.0 404 Not Found");
答え: 401 は未承認を意味します; header("HTTP/1.0 404 Not Found");

8. フォルダー内のすべてのファイルとサブフォルダーを走査できる関数を作成します。
function my_scandir($dir)
{
$files=array();
if(is_dir($dir))
{
if($handle=opendir($dir))
{
while( ($file=readdir($handle))!==false)
{
if($file!=”.” && $file!=”..”)
{
if(is_dir($dir.”/” .$file))
{
$files[$file]=my_scandir($dir.”/”.$file);
}
else
{
$files[]=$dir.”/”.$file;
}
}
}
closedir($handle);
return $files;
}
}
}
print_r(my_scandir(“D:Program FilesInternet ExplorerMUI”));
?>



9.は users 配列に追加されますか?

$users[] = 'john'; array_push($users,'john');



10. PHP の error_reporting の関数は何ですか?
答え: error_reporting() を設定します。 PHP のエラー報告レベルを示し、現在のレベルを返します。



11. メールの形式が正しいかどうかを検証する関数を正規表現(正規表現)を使用して記述してください。
答え:

$email=$_POST['email'];
if(!preg_match('/^[w.]+@([w.]+).[a-z]{2, 6}$/i',$email)) {
echo "メール検出失敗";
}else{
echo "メール検出成功";
}

?>

12. PHP を使用して表示コードを作成します。クライアント IP とサーバー IP の場合

答え: 印刷クライアント IP: echo $_SERVER['REMOTE_ADDR']; または: getenv('REMOTE_ADDR');

印刷サーバー IP: echo gethostbyname("www.bolaiwu.com ")



13. SESSION の有効期間を変更する方法 (1 ポイント)。

答え: 方法 1: php.ini の session.gc_maxlifetime を 9999 に設定し、Apache を再起動します

方法 2: $savePath = ". /session_save_dir/ ”;

$lifeTime = 時間 * 秒;

session_save_path($savePath);

session_set_cookie_params($lifeTime);

session_start();

方法 3: setcookie() と session_set_cookie_params($lifeTime) ;



14. PHP Development Resource Network のホームページのような Web ページのアドレスがあります: http://www.phpres.com/index.html そのコンテンツ ($1 ポイント) を取得するにはどうすればよいですか?

答え:方法 1 (PHP5 以降の場合):

$readcontents = fopen("http://www.phpres.com/index.html", "rb");

$contents = stream_get_contents($readcontents);

fclose ($readcontents);

echo $contents;

方法 2:

echo file_get_contents(“http://www.phpres.com/index.html”);



15 渡される値を説明してください。 in php 参照渡しとの違い。いつ値渡しするのか、いつ参照渡しするのか (2​​ 点)

答え: 値渡し: 関数スコープ内の値への変更は関数の外では無視されます

参照渡し: 値への変更はすべて無視されます。関数のスコープ内では無視されます これらの変更は関数の外にも反映されます

長所と短所: 値で渡す場合、PHP は値をコピーする必要があります。特に大きな文字列やオブジェクトの場合、これはコストのかかる操作になる可能性があります。

参照渡しでは値をコピーする必要がないため、パフォーマンスの向上に非常に役立ちます。



16. 標準 URL からファイル拡張子をできるだけ効率的に抽出する関数を作成します

例: http://www.sina.com.cn/abc/de/fg.php?id =1 php または .php を取り出す必要があります

答え 1:

function getExt($url){

$arr = parse_url($url);

$file =basename($arr['path']);

$ext =explode(“.”,$file);

return $ext[1];

}

答え 2:

function getExt($url) {

$url = Basename($url) ;

$pos1 = strpos($url,”.”);

$pos2 = strpos($url,”?”);

if(strstr($url,”?”)){

return substr ($url,$pos1 + 1,$pos2 – $pos1 – 1);

} else {

return substr($url,$pos1);

}

}



17. 5 種類を使用する上記のメソッドはファイルの拡張子を取得するために使用されます

要件: dir/upload.image.jpg、.jpg または jpg を検索、
PHP 独自の処理関数を使用して処理する必要があります。メソッドは明らかに繰り返すことができず、 get_ext1($file_name)、get_ext2($file_name) などの関数にカプセル化されます

function get_ext1($file_name){

return strrchr($file_name, '.');

}

function get_ext2($file_name) ){

return substr( $file_name, strrpos($file_name, '.'));

}

function get_ext3($file_name){

return array_pop(explode('.', $file_name));

}

function get_ext4( $file_name){

$p = pathinfo($file_name);

return $p['extension'];

}

function get_ext5($file_name){

return strrev( substr(strrev($file_name) , 0, strpos(strrev($file_name), '.')));

}



18,$str1 = null;
$str2 = false;
echo $str1==$ str2 ? '等しい' : '等しくない';

$str3 = ”;
$str4 = 0;
echo $str3==$str4 ? '等しくない';

$str5 = 0;
$str6 = '0';
echo $str5===$str6 ? '等しい' : '等しくない';
?>

等しい 等しい 等しくない



19. varchar 型と MySQL データベースの型 char の主な違いは何ですか? どちらのフィールドが検索効率が高いのですか?
Varchar は可変長であり、ストレージ領域を節約しますが、char は固定長です。 varchar は非固定長のため、char 型よりも検索効率が高く、まず長さを検索してからデータを抽出する必要があり、char 固定長型よりも 1 ステップ多く、効率が低くなります



20. JavaScript を使用して Image タグを生成する 3 つの方法を記述してください (ヒント: メソッド、オブジェクト、HTML の観点から考えてください)

(1)var img = new Image();
(2)var img = document.createElementById("image")
(3 )img.innerHTML = “”



21. 16. XHTML と HTML の最も大きな違いを 2 点以上説明してください
(1) 必ず閉じてください。 HTML はもっとカジュアルです

22. ソート アルゴリズムを作成します。これは、バブル ソートまたはクイック ソートであり、ソート対象のオブジェクトが次元配列であると仮定します。

//バブルソート(配列ソート)
function bubble_sort($array)
{
$count = count($array);
if ($count for($i=0 ; $ifor($j=$count-1; $j>$i; $j–){
if ($array[$j] $tmp = $array[$j];
$array[$j] = $array[$j-1];
$array[$j-1] = $tmp;
}
}
}
return $array;
}
//クイックソート(配列ソート)
function Quicksort($array) {
if (count($array) $key = $array[0 ] ;
$left_arr = array();
$right_arr = array();
for ($i=1; $iif ($array[$i] $left_arr[] = $array[$i];
else
$right_arr[] = $array[$i];
}
$left_arr = クイックソート($left_arr);
$right_arr = クイックソート( $ right_arr);
return array_merge($left_arr, array($key), $right_arr);
}



23. 3 つ以上の MySQL データベース ストレージ エンジンの名前を書き込みます (ヒント: 大文字と小文字は区別されません)
MyISAM 、 InnoDB 、BDB (Berkeley DB)、マージ、メモリ (ヒープ)、サンプル、フェデレーション、アーカイブ、CSV、ブラックホール、MaxDB および 12 を超えるエンジン



24 など、2 つの日付の違いを見つけます。 from 2-5 ~ 2007-3-6
方法 1:
class Dtime
{
function get_days($date1, $date2)
{
$time1 = strtotime($date1);
$time2 = strtotime($date2);
return ($time2-$time1)/86400;
}
}
$Dtime = new Dtime;
echo $Dtime->get_days('2007-2-5', '2007-3-6');
? >
方法 2:
$temp =explode('-', '2007-2-5');
$time1 = mktime(0, 0, 0, $temp[1], $temp [2], $temp[0]);
$temp =explode('-', '2007-3-6');
$time2 = mktime(0, 0, 0, $temp[1], $temp [2], $temp[0]);
echo ($time2-$time1)/86400;
方法 3: echo abs(strtotime(“2007-2-1″)-strtotime(”2007-3-1″) ))/60/60/24 時差を計算します



25. 次の機能を実現する関数を作成してください:
文字列「open_door」を「OpenDoor」に、「make_by_id」を「MakeById」に変換します。
メソッド:
function str_explode($str){
$str_arr=explode("_",$str);$str_implode=implode(" ",$str_arr); $str_implode=implode
("",explode(" " ,ucwords($str_implode)));
return $str_implode;
}
$strexplode=str_explode(“make_by_id”);print_r($strexplode);
方法 2: $str="make_by_id!";
$expStr=explode ("_",$str);
for($i=0;$i{
echo ucwords($expStr[$i]);
}方法 3: echo str_replace (' ',",ucwords(str_replace('_',' ','open_door')));



26. テーブル内に ID のレコードが複数あります。この ID のすべてのレコードを見つけて表示しますSQL ステートメント、ビュー、ストアド プロシージャを使用して実装されるレコードの総数。 =columnId;
end
call proc_countNum(1,@no);
select @no;
Method: View:
create view v_countNum as select member_id,count(*) as countNum from メンバー グループ by
member_id
select countNum v_countNum ここで member_id=1



27. JS での前方および後方 Web ページのコード (前方:history.forward();=history.go(1);後方:history.back
();=history.go (- 1); [, int $mode ] )、var が配列型または Countable インターフェイスを実装するオブジェクトでない場合、結果は 0 になります。

オブジェクトの場合、SPL がインストールされている場合、Countable インターフェイスを実装することで count() を呼び出すことができます。このインターフェイスには、count() 関数の戻り値を返すメソッド count() が 1 つだけあります。



29. 整数データを大きい順に並べる関数を書いてください。高い実行効率が求められます。実行効率を向上させる方法について説明します。 (この関数は自分で実装する必要があり、php関数は使用できません)

function BubbleSort(&$arr)
{
$cnt=count($arr);
$flag=1;
for( $i= 0;$i{
if($flag==0)
{
return;
}
$flag=0;
for($j=0;$j{
if($arr[$j]>$arr[$j+1])
{
$tmp=$arr[$j];
$arr[$ j]= $arr[$j+1];
$arr[$j+1]=$tmp;
$flag=1;
}
}
}
}
$test=array(1,3,6) ,8, 2,7);
BubbleSort($test);
var_dump($test);
?>

30 開発プロセス中にページの読み込みを高速化するために使用する方法の例を教えてください
回答: はい。サーバー リソースが利用可能な場合にのみ開かれ、サーバー リソースは時間内に閉じられ、ページは静的ファイル、画像、その他の大きなファイルを別のサーバーに生成できます。コード最適化ツールを使用します



31. 次のコードは何を生成しますか?なぜですか?
$num =$num *10;
}
multiply();
echo $ num;
関数 multiply() は $num をグローバル変数 (グローバル $num や $_GLOBALS['num'] など) として指定していないため、$num の値は 10 です。



32. PHP クラスの static、public、private、protected の違いは何ですか?

static はクラス名にアクセスできます

public はグローバルを意味し、内部サブクラスと外部サブクラスの両方からアクセスできます

private はプライベートを意味し、

protected は保護されていることを意味し、このクラス、サブクラス、または親クラスでのみアクセスできます。 、HTTP プロトコルの POST と HEAD

HEAD: ページのヘッダーのみをリクエストします。

GET: 指定されたページ情報をリクエストし、エンティティ本体を返します。

POST: 指定されたドキュメントを、識別された URI に対する新しい従属エンティティとして受け入れるようにサーバーに要求します。

(1) HTTP はサーバーと対話するためのさまざまなメソッドを定義しています。最も基本的なメソッドは GET と POST です。実際、GET はほとんどのリクエストに適していますが、POST はサイトの更新のみに予約されています。

(2) フォームを送信するとき、メソッドが指定されていない場合、デフォルトは GET リクエストで、フォームで送信されたデータは URL から ? で区切られて追加されます。英数字はそのまま送信されますが、スペースは「+」記号に変換され、その他の記号は %XX に変換されます。ここで、XX は記号の 16 進数の ASCII (または ISO Latin-1) 値です。 GET リクエストによって送信されたデータは HTTP リクエスト プロトコル ヘッダーに配置されますが、POST によって送信されたデータはエンティティ データに配置されます

GET によって送信されたデータは最大 1024 バイトのみですが、POST にはこれがありません。限界。

(3) GET これは、ブラウザがサーバーにリクエストするために最も一般的に使用されるメソッドです。データの送信には POST メソッドも使用されますが、POST を使用する場合は、データが URI に付加されて渡されるのではなく、独立した行として渡されます。このとき、Content_length ヘッダーも送信する必要があります。データの長さを示し、その後に空白行が続き、その後に実際に転送されるデータが続きます。 Web フォームは通常、POST を使用して送信されます。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1096606.html技術記事 PHP 筆記試験問題の概要、PHP テスト問題の概要 1. リモート画像をローカルにキャプチャするにはどの関数を使用しますか? fsockopen、A 2. 最大 3 つの値を見つける関数を作成するには、最小限のコードを使用します ( $a、$b、$c...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
負荷分散がセッション管理にどのように影響し、それに対処するかを説明します。負荷分散がセッション管理にどのように影響し、それに対処するかを説明します。Apr 29, 2025 am 12:42 AM

負荷分散はセッション管理に影響しますが、セッションの複製、セッションの粘着性、集中セッションストレージで解決できます。 1。セッションレプリケーションサーバー間のセッションデータをコピーします。 2。セッションスティンネスは、ユーザーリクエストを同じサーバーに指示します。 3.集中セッションストレージは、Redisなどの独立したサーバーを使用してセッションデータを保存してデータ共有を確保します。

セッションロックの概念を説明します。セッションロックの概念を説明します。Apr 29, 2025 am 12:39 AM

SESSIONLOCKINGISATECHNIQUESTOESUREAUSER'SSESSIONREMAINSEXCLUSIVETOONEUSATIME.ITISCRUCIALFORPREVENTINGDATACORTIONANDSECURITYBREACHESINMULTI-USERAPPLICATIONS.SESSIONLOCKINGISISIMPLEMENTEDUSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGROCKINGSMECHANISMなど

PHPセッションの選択肢はありますか?PHPセッションの選択肢はありますか?Apr 29, 2025 am 12:36 AM

PHPセッションの代替品には、Cookie、トークンベースの認証、データベースベースのセッション、Redis/Memcachedが含まれます。 1.Cookiesは、クライアントにデータを保存することによりセッションを管理します。 2.トークンベースの認証はトークンを使用してユーザーを検証します。これは非常に安全ですが、追加のロジックが必要です。 3.Databaseベースのセッションは、データベースにデータを保存します。これは、スケーラビリティが良好ですが、パフォーマンスに影響を与える可能性があります。 4. Redis/Memcachedは分散キャッシュを使用してパフォーマンスとスケーラビリティを向上させますが、追加のマッチングが必要です

PHPのコンテキストで「セッションハイジャック」という用語を定義します。PHPのコンテキストで「セッションハイジャック」という用語を定義します。Apr 29, 2025 am 12:33 AM

SessionHijackingとは、ユーザーのSessionIDを取得してユーザーになりすましている攻撃者を指します。予防方法には、次のものが含まれます。1)HTTPSを使用した通信の暗号化。 2)SessionIDのソースの検証。 3)安全なSessionID生成アルゴリズムの使用。 4)SessionIDを定期的に更新します。

PHPの完全な形式は何ですか?PHPの完全な形式は何ですか?Apr 28, 2025 pm 04:58 PM

この記事では、PHPについて説明し、その完全なフォーム、Web開発での主要な使用、PythonとJavaとの比較、および初心者の学習のしやすさについて説明します。

PHPはフォームデータをどのように処理しますか?PHPはフォームデータをどのように処理しますか?Apr 28, 2025 pm 04:57 PM

PHPは、$ \ _ postおよび$ \ _を使用してフォームデータを処理し、検証、消毒、安全なデータベースインタラクションを通じてセキュリティを確保します。

PHPとASP.NETの違いは何ですか?PHPとASP.NETの違いは何ですか?Apr 28, 2025 pm 04:56 PM

この記事では、PHPとASP.NETを比較して、大規模なWebアプリケーション、パフォーマンスの違い、セキュリティ機能への適合性に焦点を当てています。どちらも大規模なプロジェクトでは実行可能ですが、PHPはオープンソースであり、プラットフォームに依存しませんが、ASP.NET、

PHPはケースに敏感な言語ですか?PHPはケースに敏感な言語ですか?Apr 28, 2025 pm 04:55 PM

PHPの症例感度は変化します:関数は鈍感であり、変数とクラスは感度があります。ベストプラクティスには、一貫した命名と、比較のためにケース非感受性関数を使用することが含まれます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール