もちろん、PHPのコードを書いて実行してしまえばいいのですが、単純にダウンロードしたり、データの先頭の一部分だけを取り出したい場合、コピー & ペーストで比較的簡単に行えるので、バッチ処理の一部として応用できるかもしれません。 php.ini に allow_url_fopen = On が設定されている事を確認して下さい
php -r "print ini_get('allow_url_fopen');"
コマンドプロンプトの設定 まずは簡易編集モードである事を確認し、右クリックでコマンドプロンプトにペーストできるようにします。(PowerShell も基本的には同じで、cmd と入力すればコマンドプロンプトになります。) PHP 処理専用のコマンドウインドウ作成 以下のバッチファイルを作成して、エクスプローラからダブルクリックで実行します。
@echo off setlocal REM ▼ PHP のあるパスの追加 path=%path%;c:\php title PHP 実行用 prompt work$G mode con:cols=85 lines=50 cmd /k title 終了しました : PHP 実行用 endlocal REM php -r "copy('http://winofsql.jp/info.php','info.htm');" REM php -r "print file_get_contents('http://winofsql.jp/info.php');" REM php -r "print file_get_contents('http://winofsql.jp/info.php');" > info.html REM php -r "file_put_contents('info.txt',file_get_contents('http://winofsql.jp/info.php'));"
実行コマンドは、サンプルバッチファイル内にコメントにして書いてありますが、それぞれは以下のような機能になります。 ダウンロード
php -r "copy('http://winofsql.jp/info.php','info.htm');"
表示
php -r "print file_get_contents('http://winofsql.jp/info.php');"
これは、リダイレクトするとダウンロードと同じ事になります ダウンロード
php -r "file_put_contents('info.txt',file_get_contents('http://winofsql.jp/info.php'));"
ただの、ダウンロードならは copy で十分ですが、データが json なんかの場合はこのように関数を組み合わせるといいと思います。(json_encode から print_r で file_put_contents) また、fopen fread fwrite で、データの一部分をダウンロードできます。
php -r "$i=fopen('http://winofsql.jp/info.php','r');$o=fopen('info.4096',"w");$r=fread($i,4096);fwrite($o,$r);"
|
【PHP + 通信の最新記事】
- fake sendmail for windows を使って、PHP でごく普通に( mb_send_mail で )メール送信
- PHP の cURL でファイルアップロード
- PHP : WEB でもコマンドラインでも HTTP でファイルをダウンロードする 『fget.php』
- PHP : cURL : Google Photo API の albums.list メソッドを使用して アルバム一覧データを取得する
- PHP + cURL で Google Photo API の アクセストークンを取得する
- PHP : cURL で FTP + SSL ダウンロード
- PHP の imap 関数で( Windows ローカル )、Yahoo メールのメールをさくらインターネットのメールへコピーする
- PHP の imap 関数( Windows のローカル )で、さくらインターネットのメールボックスの情報を取得する
- PHP : IMAP 関数 でまずメールのヘッダ部分を整理してログに出力する / ※ JSON 出力を追加
- ファイルを一つアップロード : FORM の target を IFRAME にして、PHP に JavaScript を書き出させて元のページにメッセージを表示させる
- Pear の Net_POP3 で、SSL(995) を使って簡単にメール受信
- FormData を使用して $.ajax で送信すると、ファイルのアップロードとメール送信(ファイル添付)を一度に行えます
- ファイルのアップロードからそれを添付してメールを送るテンプレート(スケルトン)
- PHP : mb_send_mail を使用した自家用メール送信 API
- PHP で Windows標準のオブジェクト(CDO.Message)とGMail を使ってメール送信
- PHP : http 経由でファイルのサイズを取得する file_size 関数と ファイルサイズを付加した get_imagesize 関数
- 連想配列のキー部分がプロパティと一致したらセットする( メール送信用クラス )
- PHP : リモートのファイルサイズを取得する
- ローカルの PHP を使ってコマンドプロンプトより簡単にバイナリファイルをアップロードする
- PHP の cURL で ftp サーバーにファイルをアップロードする(SSLなし)