PHPおよびDropbox。 ユーザーファイルのリモートストレージ

申込み



多くの場合、Webアプリケーションを開発する際には、ユーザーファイルの安定したストレージを整理する問題について考える必要があります。 また、同時にディスクスペースによって制限されている場合、中規模のファイル交換の作成、およびこれらのバックアップを使用しても、非常に困惑します。



解決策



解決策として、 PHP <-> Dropboxスキームをお勧めします 。 Dropboxは、新しいユーザーごとに2Gbの仮想ディスク領域が割り当てられ、ファイルの以前のバージョンにロールバックできるという点で興味深いものです。 これにより、ファイルが完全に削除されることのない安定したストレージが提供されます。



カスタマイズ





準備する


最初に、 OauthライブラリをPHPに追加する必要があります。

sudo pecl install oauth
      
      







コンパイル中にエラーが発生した場合、 PECLの開発バージョンを配置します。

 sudo apt-get install libpcre3-dev
      
      







次に、php.iniに追加します。

extension=oauth.so







設置


さらに作業を進めるには、PHPでDropboxを操作するためのライブラリダウンロードする必要があります 。 ダウンロードした後、 Dropboxフォルダーをアーカイブからアプリケーションのスクリプトディレクトリに解凍し、 サンプルフォルダーのファイルを近くに配置します。 これらの例では、次の方法を示します。





仕事


仕事のためにDropboxのアカウントが必要であり、それを通じて新しいアプリケーションを登録し、そのキーを取得することをすぐに警告します。 Dropbox Webサイトで登録できます。 登録後、開発者セクションにアクセスし 、新しいアプリケーションを追加します。 アプリケーションがDropboxと連携できるようにするアプリキー (キーとシークレット)を受け取ります



ユーザー作成


次に、Dropboxフォルダーの横で解凍したcreateaccount.phpファイルを開きます。 変数consumerKeyおよびconsumerSecretの値を設定します。

 $consumerKey = ''; //  Key,  Dropbox $consumerSecret = ''; //  Secret,  Dropbox
      
      







次に、createAccount()関数の必要なパラメーターを設定します。

 var_dump($dropbox->createAccount('mrhandsome@example.org','Mr','Handsome','password goes here'));
      
      







このスクリプトを実行すると、Dropboxに新しいアカウントを作成します(たとえば、サイトの新しいユーザー用)。



ファイルをDropboxにアップロードする


次に、作成したユーザーのリポジトリにファイルをアップロードするには、新しいスクリプトを作成する必要があります。

 <?php $consumerKey = ''; //  Key,  Dropbox $consumerSecret = ''; //  Secret,  Dropbox include 'Dropbox/autoload.php'; $oauth = new Dropbox_OAuth_PHP($consumerKey, $consumerSecret); $dropbox = new Dropbox_API($oauth); //  $tokens = $dropbox->getToken('mrhandsome@example.org', 'secretpassword'); $oauth->setToken($tokens); $h = fopen('/local/path/to/file','r'); //    $dropbox->putFile('newPath.txt',$h); //  ?>
      
      







Dropboxからファイルをダウンロードする


ファイルをダウンロードするには、同じコンテンツでスクリプトを作成しますが、putFile()関数の代わりにgetFile()を使用します。

 echo( $dropbox->getFile('newPath.txt') );
      
      







Dropboxのファイルを削除する


類推によって削除するには、delete()を使用します。

 $dropbox->delete('newPath.txt');
      
      







アカウント統計


次を使用して、Dropboxの空き領域を制御します。

 var_dump($dropbox->getAccountInfo());
      
      





このメソッドは、ユーザーと占有ディスク領域の統計を提供します。 ユーザーの個人ファイル用の2Gbで十分だと思いますが、記入した場合は、すぐに何かを削除する必要があることをユーザーに警告できます。



おわりに



最後に、最も基本的な機能のみをリストアップしたことを付け加えます。 最大の統合機能を使用するために、Dropbox API for PHPに精通することをお勧めします。



All Articles