ホームページ バックエンド開発 PHPチュートリアル PHP_PHP チュートリアルでのコマンド ライン ツールの使用

PHP_PHP チュートリアルでのコマンド ライン ツールの使用

Jul 13, 2016 pm 05:38 PM
php web 使用 作成する 発見する コマンドライン 存在する 道具 あなた 特性

PHP を使用したことがある場合は、これが機能豊富な Web ページを作成するための優れたツールであることがわかるでしょう。主要なスクリプト言語として、PHP:

・学びやすい。

・Rails プログラマーと同じくらい生産性を高める強力なフレームワーク (Cake

PHP や CodeIgniter など) がたくさんあります。

・MySQL、PostgreSQL、Microsoft SQL Server、さらには Oracle と通信する機能。

・script.aculo.usやjQueryなどのJavaScriptフレームワークと簡単に統合する機能。

でも、もっとやりたい、もっとやらなきゃいけないこともある。つまり、

PHPが実行されているサーバーのファイルシステムを直接処理する必要があるということです。最終的には、ファイル システム上のファイルを操作したり、実行中のプロセスについて学習したり、その他のタスクを実行したりする必要があります。

まず、file()

コマンドを使用して、PHPでファイルを開くことができました。しかし、ある時点で、何かを達成する唯一の方法は、サーバー上でシェル コマンド を実行し、特定の出力を取得することです。たとえば、特定のディレクトリに含まれるファイルの数を知りたい場合があります。または、特定のログ ファイルのセットに書き込まれた行数を知りたい場合もあります。または、ファイルを操作したり、別のディレクトリにコピーしたり、rsync を使用して別の場所に送信したりすることもできます。

記事「

PHP commandline? Yes, you can!」では、Roger McCoy が Web ブラウザを使わずに PHP コマンド ラインから直接使用する方法を示しています。この投稿では、同じトピックを別の角度から見て、基礎となるシェルコマンドと緊密に統合し、戻り値をインターフェースとプロセスに組み込む方法を示します。

これらの操作は、Linux、Berkeley Software Distribution (BSD)、またはその他の UNIX バージョンで実行している場合にのみ機能します。 Linux-Apache-MySQL-

PHP (LAMP) スタックで実行していると仮定します。別のバージョンの UNIX を実行している場合は、使用できるコマンドラインがバージョンごとに異なるため、具体的な詳細が異なる場合があります。多くの人がまだ Mac OS X (BSD の一部のバージョンを実行している) で開発していることを私は知っているので、簡単に移植できるように、サンプル コマンド をできるだけ一般的なものにするように努めました。

コマンドラインの概要

PHP コマンドラインインターフェイス (CLI) サーバーアプリケーションプログラミングインターフェイス (SAPI) は、実験目的で PHP V4.2.0 でリリースされました。 V4.3.0 では完全にサポートされており、デフォルトで有効になっています。 PHP CLI SAPI を使用すると、PHP がサポートするシェル スクリプト (デスクトップベースのスクリプトも含む) を開発できます。実際、コマンドラインから直接実行できるツールをPHPで作成することが可能です。このようにして、PHP 開発者は Perl、AWK、Ruby、またはシェル プログラマーと同じくらい生産性を高めることができます。

この記事では、

PHPが実行される基盤となるシェル環境とファイルシステムを理解できるように、PHPに組み込まれたツールについて説明します。 PHP は、shell_exec()、exec()、passthru()、system() など、外部 コマンド を実行するための関数を多数提供します。これらのコマンドは似ていますが、実行する外部プログラムに対して異なるインターフェイスを提供します。これらすべてのコマンドは、指定したコマンドまたはスクリプトを実行する子プロセスを生成し、各子プロセスは、標準出力 (stdout) に書き込まれるコマンド出力をキャッチします。

shell_exec()

shell_exec()

コマンド 行は、実際にはバックティック (`) 演算子のバリエーションにすぎません。シェルまたは Perl スクリプトを書いたことがある場合は、バックティック演算子内で他の コマンド の出力をキャプチャできることをご存知でしょう。たとえば、リスト 1 は、バッククォートを使用して、現在のディレクトリ内の各テキスト (.txt) の単語数を取得する方法を示しています。

リスト1. バッククォートを使って単語の数を数えます

#!/bin/sh

number_of_words=`wc -w *.txt`

$number_of_words をエコー

#result は次のようになります:

#165readme.txt 388results.txt 588summary.txt

#andso on....

リスト 2 に示すように、

PHP スクリプトで、shell_exec() でこの単純な コマンド を実行すると、必要な結果が得られます。ここでは、同じディレクトリにいくつかのテキストファイルが存在すると仮定します。

リスト 2. 同じコマンド

をshell_exec()で実行する

$results =shell_exec(wc -w *.txt);

$resultsをエコー;

?> $results =shell_exec(wc -w *.txt);

echo $results;

>

図1からわかるように、得られる結果はシェルスクリプトから得られるものと同じです。これは、shell_exec() を使用すると、シェルを通じて外部プログラムを実行し、結果を文字列として返すことができるためです。

図 1.shell_exec() を通してシェルコマンドを実行した結果

以下に示すように、末尾のアポストロフィ演算子を使用するだけでも同じ結果が得られることに注意してください。

リスト 3. 末尾のアポストロフィ演算子のみを使用する

$results =`wc -w *.txt`;

$resultsをエコー;

?> $results =`wc -w *.txt`;

echo $results;

>

リスト 4 は、より簡単な方法を示しています。

リスト 4. より簡単な方法

echo `wc -w *.txt`;

?> echo `wc -w *.txt`;

>

UNIX のコマンドライン スクリプトやシェル スクリプトを使用して多くのことができることを知っておくことが重要です。たとえば、パイプを使用してコマンドを接続できます。演算子を使用してシェル スクリプトを作成し、そのシェル スクリプトを呼び出すこともできます (必要に応じて引数の有無にかかわらず)。

たとえば、ディレクトリ内の最初の 5 つのテキスト ファイルの単語数のみをカウントしたい場合は、垂直バー (|) を使用して wc と head コマンドを接続できます。あるいは、以下に示すように、出力を pre タグ内に配置して、Web ブラウザーでより美しくレンダリングすることもできます。

リスト 5. より複雑なシェルコマンド

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/486464.html技術記事 PHP を使用したことがある場合は、PHP が機能豊富な Web ページを作成するための優れたツールであることがわかるでしょう。主要なスクリプト言語である PHP: 学習が簡単です。 強力なフレームワークがたくさんあります (...
など)
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPパフォーマンスの最適化:究極のガイド PHPパフォーマンスの最適化:究極のガイド May 14, 2025 am 12:02 AM

keyStrategIestsoSificlyvoostphpappliceperformanceare:1)useopcodecachinglikeToreexecutiontime、2)最適化abaseの相互作用とプロペラインデックス、3)3)構成

PHPでの依存関係注射:初心者向けのコード例 PHPでの依存関係注射:初心者向けのコード例 May 14, 2025 am 12:08 AM

コードをより明確かつ維持しやすくするため、依存関係が関心(DI)に注意する必要があります。 1)DIは、クラスを切り離すことにより、よりモジュール化されます。2)テストとコードの柔軟性の利便性を向上させ、3)DIコンテナを使用して複雑な依存関係を管理しますが、パフォーマンスの影響と円形の依存関係に注意してください。

市場ソフトウェアを無料で表示するための推奨Webサイト。無料表示市場ソフトウェアのウェブサイトは何ですか? 市場ソフトウェアを無料で表示するための推奨Webサイト。無料表示市場ソフトウェアのウェブサイトは何ですか? May 13, 2025 pm 06:18 PM

推奨される3つの自由市場視聴ソフトウェアWebサイトは次のとおりです。1。OKX、2。Binance、3。Huobi。 1。OKXは、豊富な市場データとユーザーフレンドリーなインターフェイスを提供し、複数の言語とモバイルアプリケーションをサポートします。 2。Binanceは、高度なチャート化ツールとモバイルアプリケーションをサポートするシンプルな設計と豊富な市場データを提供します。 3. Huobiは、包括的かつ正確な市場データで知られており、直感的なインターフェイスとモバイルアプリケーションを提供しています。

更新を維持:最新のLaravelバージョンの最新機能 更新を維持:最新のLaravelバージョンの最新機能 May 14, 2025 am 12:10 AM

Laravelの最新バージョンでは、複数の新機能を紹介します。1。Laravelpennantは、機能フラグを管理するために使用され、新しい機能を段階的にリリースできるようにします。 2。LARAVELREVERBは、リアルタイムコメントなどのリアルタイム機能の実装を簡素化します。 3. Laravelviteは、フロントエンドの建設プロセスを加速します。 4.新しいモデル工場システムは、テストデータの作成を強化します。 5.エラー処理メカニズムを改善し、より柔軟なエラーページのカスタマイズオプションを提供します。

Python Concatenateリスト文字列 Python Concatenateリスト文字列 May 14, 2025 am 12:08 AM

Join()メソッドを使用することは、Pythonのリストから文字列を接続する最も効率的な方法です。 1)join()メソッドを使用して、効率的で読みやすくなります。 2)サイクルは、大きなリストに演算子を非効率的に使用します。 3)リスト理解とJoin()の組み合わせは、変換が必要なシナリオに適しています。 4)redoce()メソッドは、他のタイプの削減に適していますが、文字列の連結には非効率的です。完全な文は終了します。

MySQL:PHP Webインターフェイスを介してユーザーを追加します MySQL:PHP Webインターフェイスを介してユーザーを追加します May 14, 2025 am 12:04 AM

PHP Webインターフェイスを介してMySQLユーザーを追加すると、MySQLI拡張機能を使用できます。手順は次のとおりです。1。MySQLデータベースに接続し、MySQLI拡張機能を使用します。 2。ユーザーを作成し、CreateUserステートメントを使用し、パスワード()関数を使用してパスワードを暗号化します。 3. SQLインジェクションを防ぎ、MySQLI_REAL_ESCAPE_STRING()関数を使用してユーザー入力を処理します。 4.新しいユーザーに権限を割り当て、助成金ステートメントを使用します。

経済的変動中のスタブコインの役割を明確にするための1つの記事 経済的変動中のスタブコインの役割を明確にするための1つの記事 May 14, 2025 pm 09:15 PM

経済的混乱を感じるためにエコノミストである必要はありません。価格は下落し、仕事の安定性が低下し、誰もが自分の経済的な将来に不安を抱いているようです。 Stablecoinとは何ですか? Stablecoinsは、Crypto Worldのライフジャケットのようなものです。これは、価値を安定させるために設計されたデジタル通貨であり、多くの場合、米ドルや金などの安定した資産にリンクしています。ビットコインやイーサリアムなどの深刻な価格変動を伴う暗号通貨とは異なり、Stablecoinsは安定性を追求します。経済の嵐が襲うと、投資家は自然に安定性を求め、スタブコインはこの安全なhaven資産を提供するだけで、ボラティリティがありません。経済的不安定性があるときに、なぜ安定したものが繁栄するのか

暗号通貨裁定戦略とは何ですか? 4つの一般的な裁定戦略とリスク分析 暗号通貨裁定戦略とは何ですか? 4つの一般的な裁定戦略とリスク分析 May 14, 2025 pm 09:18 PM

暗号通貨アービトラージの英語名は暗号条項です。これは、2つの交換で同時に取引し、両側にスプレッドをロックすることで利益を上げる戦略を指します。暗号通貨の投資には、大きな変動と高いリスクがあります。投資家は、リスクを減らして利益を上げることができる戦略を見つけたいと考えています。暗号通貨アービトラージは、戦略の種類の1つですが、アービトラージ戦略は必然的にリスクが低いのでしょうか?暗号通貨裁定とは何ですか?同じ暗号通貨ペアに異なる見積もりがある場合、低価格で同時に高く売れ、リスクのないリスクまたは非常に低いリスクを使用してスプレッドの利益を獲得します。

See all articles