2016-10-12 3 views
0

私が開発しているアプリケーションでは、ユーザーがプロフィール用にアバターをアップロードできます。アプリは2つの別々の正面のウェブサーバを使用するので、別々のファイルサーバを使用して画像ファイルを保存する予定です。私が正常に使用するコードは、Webサーバーのディレクトリにファイルをアップロードします。ファイルサーバーにファイルを正常に取得する最も良い方法は何ですか? XXX.XXX.XXX.XXXは、ファイルサーバーのIPであるphpを使用してファイルサーバーを別々にアップロードするにはどうすればよいですか?

require_once('class.upload.php'); 

$foo = new Upload($_FILES['fileToUpload']); 

if ($foo->uploaded) { 

    // save uploaded image with a new name, 
    // convert to .jpg 
    // resized to 50px by 50px 

    $foo->file_new_name_body = $tablename; 
    $foo->file_auto_rename = true; 
    $foo->image_convert = jpg; 
    $foo->image_resize = true; 
    $foo->image_ratio_crop = true; 
    $foo->image_y = 50; 
    $foo->image_x = 50; 

    //THIS LINE CURRENTLY SPECIFIES UPLOAD PATH ON WEBSERVER 
    $foo->Process('avatars/'); 

    // THE LINE BELOW IS WHAT I TRIED AND GOT A 'Can't create file path' ERROR 
    //$foo->Process('http://XXX.XXX.XXX.XXX/PATH/TO/avatars/'); 


    if ($foo->processed) { 
    //echo 'image renamed, resized x=100 and converted to JPG'; 
    $foo->Clean(); 
    ...then goes on with upload processing since upload is successful.  
    }  

} 

:それは私がここにここにhttps://www.verot.net/php_class_upload.htm

を発見したコードである「class.upload.php」と呼ばれるアップロードコードを使用しています。

ご協力いただきありがとうございます。質問をより良くするためにできることがあれば教えてください。ありがとう!

+1

最も簡単で効率的で堅牢なのは、単にファイルサーバーのファイルシステムのエクスポートをhttpサーバーにマウントするだけです。 – arkascha

答えて

1

このスクリプトは、ローカルファイルシステムに保存するためのものです。 wwwデータユーザー(またはセットアップが実行されるユーザー)がファイルを書き込むことができる場所が必要です。

イメージをアップロードし、ファイルサーバー上でスクリプトに設定されたアクションのみを設定するフォームを設定します。ユーザーが直接この方法でアップロードします。

か、ファイルをローカルに保存する必要があります

、その後、いくつかのファイルサーバにそれを取得する方法。ファイルシステムのエクスポートを公開すると(wwwサーバとファイルサーバの間にプライベートネットワークがある場合)、またはそこにいくつかの方法を送信する必要があります。あなたはPHPでカールを使用してイメージをftpすることができます。パスワードなしのsshキーを使用し、scpをファイルサーバに送るシェルスクリプトを作成すると、ssh上のrsyncと頻繁に同期することができます。たくさんのオプション。

+0

素晴らしい。私は、フォームをファイルサーバーに直接実行できるとは考えていませんでした。私はこれを試してみる。 – user3471040

関連する問題