私は人々が大きな(2mb-3mb)ファイルを大量にアップロードするサイトを持っています。したがって、それらを外部ドライブ(私のdrobo)に保存する必要があります。サーバー上のフォルダーにファイルをアップロードするにはどうすればよいですか。次に、ファイルを取得してユーザーがダウンロードできるようにするphpスクリプトを作成するにはどうすればよいですか。
ありがとう、ジョーイ・サッキーニ
私は人々が大きな(2mb-3mb)ファイルを大量にアップロードするサイトを持っています。したがって、それらを外部ドライブ(私のdrobo)に保存する必要があります。サーバー上のフォルダーにファイルをアップロードするにはどうすればよいですか。次に、ファイルを取得してユーザーがダウンロードできるようにするphpスクリプトを作成するにはどうすればよいですか。
ありがとう、ジョーイ・サッキーニ
これを行うには、ファイルをアクセス可能なスペースに移動するだけです。
http://php.net/manual/en/function.move-uploaded-file.php
ただし、これの影響を必ず考慮してください。アップロードしたファイルを開いているディレクトリに移動すると、誰でもそのファイルにアクセスできます。これは非常に危険です。誰かがPHPスクリプトをアップロードしていると想像してみてください。
Webルート以外の場所からファイルをフェッチするスクリプトを作成することをお勧めします。基本的なレベルでは、元の名前(ディスク上でランダムな名前に変更する必要があります)やmimetypeなどのファイルのプロパティをデータベースに保存できます。次に、ファイルを。でクライアントに送信しますreadfile()
。
自分の個人用ハードドライブにバックアップをダウンロードするには、SFTPを使用するだけです。
これは簡単な答えではありません。ファイルをサーバーにアップロード、取得、および保存する方法を理解する必要があります。PHPおよびその他のいくつかの書き込み権限を設定します。これらのリンクを試して、すばやく開始することをお勧めします。
http://www.w3schools.com/php/php_file_upload.asp
http://www.tizag.com/phpT/fileupload.php
また、いくつかの優れた例については、PHPリファレンスマニュアルを参照してください。
アップロードしたファイルをサーバーディレクトリの外に置くことができます。したがって、サーバールートが/ www / htdocsの場合、ファイルを/uploadedなどに保持できます。だから次のようなものを使用してください
move_uploaded_file($_FILES['file'],'/uploaded')
このようにして、urファイルは外の世界にアクセスできなくなります