2009-06-27 16 views
0

最近、SMSメッセージを送信するためのHTTP-APIアクセスを提供する主要なSMSゲートウェイの1つから利用可能なAPI関数のオープンソースクラスラッパーを公開しました。カスタムコマンドラインユーティリティ。どうやって?

今、私はどこでも、コマンドラインでユーザーのために利用できるようにすることができますカスタムコマンドラインutitityを作りたいので、彼はこの1つだけのようなコンソールコマンドを実行してSMSを送信することができます:

$ my_custom_send_sms_command -u your_username -p your_password -k your_api_key 447771234567 'Hello from CLI' 

してください、これをどうやって行うのか説明してください。

更新日:

クラスはPHPで記述されています。

+0

:あなたのクラスは、例えばからアクセスすることができますC、シェルから、Ruby、... – xtofl

+0

あなたは実際に何が欠けていますか?あなたはコマンドラインオプションを解析する方法やコンソールアプリケーションを作成する方法などは知らないのですか? – rasjani

+0

そのようなパスワードを提供することに注意してください。そうした場合、パスワードはシステム上の任意のユーザーが読むことができます。 ( 'ps aux'または/ procを使用してください)。そのユーザーだけが読むことができるファイルにユーザー名/パスワードの設定を提供し、そのファイルを引数として渡す方がよいでしょう。 – Arafangion

答えて

0

PHP CLIパッケージがインストールされていることを確認してください。それがインストールされていますことを

$ apt-get install php5-cli 

チェック:

#!/usr/bin/php -q 
<?php 

    // command line parameters are in the format: 
    //  key1 value1 .. keyN valueN number message 

    $username = ""; 
    $password = ""; 
    $apikey = ""; 

    // process pairs of arguments up to the last two  
    for ($x = 0; $x < ($argc - 3); $x++) 
    { 
    if ($argv[$x] == "-u") $username = $argv[$x + 1]; 
    if ($argv[$x] == "-p") $password = $argv[$x + 1]; 
    if ($argv[$x] == "-k") $apikey = $argv[$x + 1]; 
    } 
    $number = $argv[$argc - 2]; 
    $message = $argv[$argc - 1]; 

    // To do: call the SMS API 
    // For now just output the info 
    echo("Username = " . $username . "\r\n"); 
    echo("Password = " . $password . "\r\n"); 
    echo("API key = " . $apikey . "\r\n"); 
    echo("Number = " . $number . "\r\n"); 
    echo("Message = " . $message . "\r\n"); 
?> 

$ /usr/bin/php -v 

そこで、このような内容を持つsendsms.phpのような名前のファイルを作成し、私のUbuntuのVPSに私は実行する必要がありましたファイルに実行権限があることを確認してください:

chmod 755 sendsms.php 

そして、このような現在のフォルダから実行します:私はあなたがより良い、より制約を与えるであろうと思います

$ ./sendsms.php -u your_username -p your_password -k your_api_key 447771234567 'Hello from CLI' 
関連する問題