2012-02-27 26 views
0

SSH経由でサーバーにデータを送信したい。データは、サーバー上のディレクトリに保存する必要があるイメージファイルです。SSH経由でPHPスクリプトを実行

私はSSH経由でスクリプトを実行した場合どのように私は、画像ファイルを読み込むためにPHPスクリプトを得ることができますか?私はbashのを使用した場合

例えば、私は

./uploadimage.bash -image.jpg 

を行うことができ、それはそれだろう。しかし、私のPHPに関する知識は限られています。私が知る限り、通常PHPはファイルを扱うときに$ _FILE配列を使います。 SSHでファイルを送信する場合、これを使用する必要がありますか?

+0

http://php.net/manual/en/reserved.variables.argv.php –

+0

"私はSSH経由で自分のサーバーにデータを送信しますか。"?いくつかのファイルをサーバーに転送したいだけですか? ['scp'](http://en.wikipedia.org/wiki/Secure_copy)を使うことができます。または、複数のファイルを転送する必要がある場合は、[WinSCP](http://winscp.net/eng/index.php)、[FileZilla](http://filezilla-project.org/)、 [送信](http://panic.com/transmit/)を参照してください。 – hobbes3

答えて

2

は、PHPのコマンドライン実行ファイルを経由してスクリプトを実行します。

php myscript.php image.jpg image2.jpg 

することができます$argv配列を経由してファイル名を取得し、それらに対処どのような方法あなた下さい。

0

あなたは、単にリモートサーバへのファイルの束をアップロードしたい場合は、あなたの最善の策は、scpコマンドを使用することではなく、PHP

scp /your/file.png [email protected]:/remote/path.png 

あなたはSSHセッションを介してPHPスクリプトを実行すると、ありますSSH経由でファイルを送信することはできません。最初にリモートサーバーにコピーしてから、file_get_contentsなどのPHPを実行する必要があります。

あなたが(多分あなたは、ファイル名、パスを決定するために、いくつかのロジックをしたい)PHPはファイルの受信者でなければならないこと確信している場合は、ウェブサーバとしてそれをホストする必要があり、あなたが使用することができますcurlファイルをアップロードするには、次のようにしてください:

curl -k -F [email protected] foo.php. 
2

これは、画像で何をする必要があるかによって異なります。

  • あなたはそれらをユーザーにエコーする必要はありますか?

    echo file_get_contents('image.jpg'); 
    
  • あなたはスクリプトに渡されたコマンドライン変数を取得するために意味されていますか? $argvを使用してください。

    myScript.php image.jpg # image.jpg becomes $argv[1] 
    
  • イメージの処理は必要ですか? GD functionsを使用します。

    $image = imagecreatefromjpeg('image.jpg'); 
    // Do processing 
    imagejpeg($image); // Pass a filename if you want to save it instead of output it. 
    
関連する問題