<?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で質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- PHP 共通の処理をまとめる方法がわからないのでアドバイスお願いします。 1 2022/12/19 20:20
- PHP ランキングを表示する際の画像の大きさを固定することは可能でしょうか? <?php if ( has_ 1 2022/07/21 14:55
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP 文字列を段落で分ける方法を教えて下さい。 2 2023/03/09 10:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
.htaccessのURL書き換えができ...
-
シェルスクリプト処理に時間や...
-
pearのインストール出来ない
-
2種類のスクリプトを1つのペー...
-
Image Magickの関数が使えない
-
*.php、*.php3、*.phtmlの違い
-
変数の引き渡し
-
header(Location:~)で$_SESS...
-
<A href ~ と一緒に値を渡すには
-
PHPでの画面遷移について
-
HYのAM11:00のラップの部分の歌...
-
.htaccessにphp_valueが使用できな
-
パソコン一日中つけっぱなしの...
-
複数のPHPファイルを読み込むに...
-
複数ページのセッションの送り方
-
php4とphp5での数値の取り扱い...
-
PHP PDOライブラリが読み込まれ...
-
PHPのWARNINGをcatchするには
-
フォントの色を変えるには?
-
phpでPEAR::DBを使っているので...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.htaccessにphp_valueが使用できな
-
フォームで戻った際に入力済み...
-
phpの中でphpを書けないか
-
<A href ~ と一緒に値を渡すには
-
header(Location:~)で$_SESS...
-
PHPで別PHPを呼び出す。
-
PHPからMSSQLへの接続結果の文...
-
これの対応OSを教えて下さい。p...
-
複数のPHPファイルを読み込むに...
-
*.php、*.php3、*.phtmlの違い
-
東京都の高校の九段高校ってど...
-
HYのAM11:00のラップの部分の歌...
-
PHPINFOが見えない
-
<大至急!>ご教授願います。
-
リンクのクリック数をカウンタ...
-
服にかいた油性ペンがにじまな...
-
さくらインターネットでメール...
-
libphp5.so がないと?
-
mamp環境でのcronの使い方で困...
-
PHPExcel に関して
おすすめ情報