<?php
// stringcast.php
if (!isset($argv[1])) {
exit;
}
$num = $argv[1];
if ($num == 100) {
echo "num is 100", PHP_EOL;
} else {
echo "num is not 100",PHP_EOL;
}
このプログラムを
%php stringcast.php 100のように実行すると、引数の100は
PHPには文字列型として渡されます。・・・
以上参考書にあります。
作業の流れが分かりません。
%php stringcast.php 100とは!何のことなのでしょうか!?
以上宜しくお願いします。
No.5ベストアンサー
- 回答日時:
この回答への補足
ご回答誠にありがとうございます。
ご紹介していただいた
http://www.phpbook.jp/install/install/index3.html
ですが、その通りやりましたが!
コマンドプロンプト
以下を実施したところ、
--------------------------------------------------------------------
c:\>php -v
'php' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
--------------------------------------------------------------------
以上ですで
もしパスが通った場合は以下みたいに
なると説明がありました。
------------------------------------------------------------------
c:\>php -v
PHP 5.5.7 (cli) (built: Dec 11 2013 13:48:27)
Copyrighrt (c) 1987-2013 The PHP Group
Zend Engine v2.5.0, Copyrigh (c) 198-2013 Zend Technologies
C:\>
------------------------------------------------------------------------
ご紹介していただいたHPの中に
PHPはサーバサイドで動作するスクリプト言語としてだけではなくコマンドラインからも利用できるようになっています。コマンドラインから使用する場合に使われる「php.exe」はPHPをインストールしたディレクトリに入っています。そこでにPHPをインストールしたディレクトリにPATHを通しておきます。・・・
とあります。
HPの説明にはc:¥php;を最後に追加するだけでいいと書いてありまし
「php.exe」は私のパソコンからはC:\xampp\phpにありましたので、
システムプロパティ⇒詳細設定⇒環境変数⇒システム環境変数⇒Pathの最後を\c:\xampp\php;
として試しましたが、同じ結果でした。
HPの説目には最後にc:¥php;を追加すればいいとは書いてありましたが、駄目でしたので
\c:\xampp\php;も試しましたが駄目!
以下はシステム環境変数⇒Pathのところをまるごと貼りつけました。
C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files\Broadcom\Broadcom 802.11 Network Adapter\Driver;;;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;;;;;;;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Windows Live\Shared\c:\php;
あるいは最後を、\c:\xampp\php;としましたが、結果は同じでPATHは通りませんでした。
なぜPATHが通らないのでしょうか?
もし分かられたらご教授を宜しくお願いいたします。
ご回答誠にありがとうございました。
まだ解決していませんが、急いでいますので再度スレを立ち上げます。
今後ともよろしくお願いいたします^^
No.6
- 回答日時:
\c:\php; を追加したのでは
C:\Program Files (x86)\Windows Live\Shared\c:\php
というディレクトリになります。C:\phpは追加されていません。
PATHでディレクトリを区切るのには、 ; (セミコロン)を使います。
先のURLにある画像でも C:\phpの前に ; があります。
[コマンドプロンプト path]で検索してみましょう。
また、[コマンドプロンプト 使い方] で基本的な使い方くらいは勉強しましょう
この回答への補足
ご回答誠にありがとうございます。
「コマンドプロンプト path」で検索はしましたが!
いまいち分かりませんでした!?
C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files\Broadcom\Broadcom 802.11 Network Adapter\Driver;;;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;;;;;;;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Windows Live\Shared;c:¥php;
取り合えず;セミコロンをcの前に追加しましたが
c:\>php -v
'php' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
PATHが通りません!
以上
宜しくお願いします。
No.4
- 回答日時:
>> コマンド プロンプトでCDコマンドでカレントを以下としました。
>> c:\>
じゃなくって…
「cd C:\xampp\htdocs\study.localhost」で1行の命令です。
「php stringcast.php 100」で1行の命令です。
この回答への補足
ご回答誠にありがとうございます。
本当に助かります^^
以下コマンドプロンプトで実施した結果です。
---------------------------------------------------
C:\Users\Administrator>cd C:\xampp\htdocs\study.localhost
C:\xampp\htdocs\study.localhost>php stringcast.php 100
'php' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
C:\xampp\htdocs\study.localhost>
-----------------------------------------------------
以上ですが、確かに
「C:\xampp\htdocs\study.localhost」
には「stringcast.php」というファイルは存在します。
stringcast.phpの中身は
<?php
// stringcast.php
if (!isset($argv[1])) {
exit;
}
$num = $argv[1];
if ($num == 100) {
echo "num is 100", PHP_EOL;
} else {
echo "num is not 100",PHP_EOL;
}
すみません、以上宜しくお願いいたします。
No.3
- 回答日時:
cdコマンドに続いてphpコマンドを実行します。
cd C:\xampp\htdocs\study.localhost
php stringcast.php 100
この回答への補足
ご回答誠にありがとうございます。
私のPHP、最後の砦はこのサイトのみとなりました。
すみませんまたやり方の質問ですが!
コマンド プロンプトでCDコマンドでカレントを以下としました。
c:\>
それで!これに続くコマンドは何と入力しらいいのでしょうか!
ご回答くださったxampp\htdocs\study.localhost php stringcast.php 100
をすこし組み合わせてやりました。
以下私が実施した結果です。
c:\>xampp\htdocs\study.localhost
'xampp\htdocs\study.localhost' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
c:\>xampp\htdocs\study.localhostphp stringcast.php 100
'xampp\htdocs\study.localhostphp' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
c:\>xampp\htdocs\study.localhostphp\stringcast.php 100
ディレクトリ名が無効です。
c:\>xampp\htdocs\study.localhostphp\%php stringcast.php 100
ディレクトリ名が無効です。
以上試しましたが・・わかりません
すみません、よろしくお願いいたします。
No.2
- 回答日時:
【重大な訂正】
php stringcast.php 100
自分で入力するのはこの3か所です。最初の「php」も必要でした。「php.exe」から「string.php」を、第1引数「100」を伴って実行するという意味です。
No.1
- 回答日時:
コマンドラインから実行しているだけですね。
Linux系ではターミナル、Windowsではコマンドプロンプトとも呼ばれます。%php
→ カレントディレクトリ表示(ここは入力するのではなく最初から表示されているもの)
stringcast.php
→ 実行するファイル(ここは入力する)
半角スペースで区切って…
100
→ 第1引数として渡されます。具体的には $argv[1] に文字列 "100" として代入されます。 $argv[0] には実行したファイル名 "stringcast.php" が渡される仕様となっており、こっちは第0引数なんて呼ぶのが妥当でしょうか。公式的な命名は分かりませんが。
PHP Manual - $argv
http://php.net/manual/ja/reserved.variables.argv …
【参考: Apache(Webブラウザ向けのサーバー)で実行する場合】
パラメータは $_GET $_POST $_COOKIE $_REQUEST で受け取ります。
PHP Manual - スーパーグローバル
http://php.net/manual/ja/language.variables.supe …
いつもとても厳しい回答がつくのを見ていて苦笑いしていますが頑張ってください・・・ww
この回答への補足
To_aru_User様毎どうご回答ありがとうございます。
助かります^^
それで、やり方がいまいち!です。
質問したファイル名を
stringcast.phpとし、c:\>xampp\htdocs\study.localhostへ格納しまして、
c:\>xampp\htdocs\study.localhost\stringcast.phpとなりました。
それで現在私のPCで
コマンドプロンプトを開いた最初の表示はC:\Users\Administrator>です。
cd c:\コマンドで
以下のカレントドライブに切り替えて
c:\>xampp\htdocs\study.localhost\stringcast.phpを実行したとこと
ちゃんとファイルは開きました。
パソコンの環境は以上です。
それで、申し訳ございませんが!
この場合の %php stringcast.php 100 を実行する手順はどうしたらいいのでしょうか?
すみません、私の現在のレベルではやさしい手順が必要です。
どうぞ宜しくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpからoutlook起動
-
.htaccessにphp_valueが使用できな
-
フォームで戻った際に入力済み...
-
*.php、*.php3、*.phtmlの違い
-
PHPからMSSQLへの接続結果の文...
-
PHPのif文でその処理を途中で抜...
-
Subversionのリポジトリの削除
-
PHPにおける時間計算、時間足し...
-
【file_exists】ファイルが存在...
-
onedrive にexcelファイルをア...
-
xamppでGDを使いたい。
-
VBSの「MsgBox」について
-
SSI される .inc ファイル内に ...
-
phpのクラスにて別ファイルの変...
-
php.ini を設定を変更すると再...
-
imagecreatetruecolor()関数で...
-
php,mysqlにて画像パス保存/表...
-
ファイルのアップロードで、フ...
-
PythonのTkinter詳しい方へ。画...
-
PHPでネットワークドライブのop...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
phpの中でphpを書けないか
-
*.php、*.php3、*.phtmlの違い
-
フォームで戻った際に入力済み...
-
.htaccessにphp_valueが使用できな
-
<A href ~ と一緒に値を渡すには
-
header(Location:~)で$_SESS...
-
iframeで読み込んだ別のphpファ...
-
複数のPHPファイルを読み込むに...
-
phpのextension_dirを複数指定...
-
PHPからMSSQLへの接続結果の文...
-
PHPINFOが見えない
-
%php stringcast.php 100
-
さくらインターネットでメール...
-
テレメールとは?
-
Apache 2.4でphp-5.3を使いたい...
-
phpからoutlook起動
-
phpの対話型実行ツール?
-
耳に毛がかかるって?
-
Apacheの設定ファイルにPHPの設...
-
これの対応OSを教えて下さい。p...
おすすめ情報