2016-10-02 3 views
0

私はDropzone.jsとVerotのclass.upload.phpを使って簡単なアップロードファイルを作成しています。 $ _GET []変数から画像をフォルダに動的にアップロードしたいと考えています。Dropzone jsとVerotのアップロード、動的フォルダへのアップロード方法は?

以下は私のコードですが、私が何をするにしても、すべてのファイルは「アップロード」フォルダにアップロードされます。 URLはindex.phpを?アルバム=岩であれば

ので
<?php include('includes/php/class.upload.php'); ?> 

<form action="upload.php" class="dropzone"></form> 

<?php 

$ds = DIRECTORY_SEPARATOR; 
$filesFolder = 'uploads'; 

if(isset($_GET['album'])){ 
$targetDir = dirname(__FILE__).$ds.$filesFolder.$ds.$_GET['album']; 
}else{ 
$targetDir = dirname(__FILE__).$ds.$filesFolder; 
} 

if(!empty($_FILES)){ 

$handle = new upload($_FILES['file']); 

if ($handle->uploaded) { 
    $handle->image_resize   = true; 
    $handle->image_x    = 960; 
    $handle->image_ratio_y  = true; 
    $handle->process($targetDir); 
} 
} 



?>` 

upload.php

は、画像が "アップロード/岩" にアップロードされるはずです。しかし、今はすべてが "アップロード"にアップロードされます。

$ filesFolder変数を "uploads/rocks"ファイルに直接変更して、目的のフォルダにアップロードするとします。

何か間違っていますか?または$ _GETを使用する以外にこれを実現するためのより良い方法があります。

+0

あなたのフォームは、属性が 'enctype =" multipart/form-data "である必要があります – Franco

+0

フォルダアップロードを許可しようとしていますか? – guest271314

+0

@ guest271314いいえ、$ _GET変数 – Jackie

答えて

0

あなたのコードの問題は、現在のコードに基づいて$ _GET ['album']が存在しないため、拡張パスは決して作成されません。 GET要求のために、フォームに隠れた入力を使用する必要があります。また、ライブWebサイトやソフトウェアでこのコードを使用する計画が、検証とサニタイズでデータを適切に保護しているかどうかを確認することもお勧めします。

<form action = "upload.php" method="get" enctype="multipart/form-data"> 
    <input type="hidden" name="dir" value="album"/> 
    <input type="submit"/> 
</form> 
+0

私に例を挙げてもらえますか?ありがとう – Jackie

+0

私はスポークを見逃して隠されたフォームとして送信するために、投稿を使用する必要があります。私は形式をして以来、行ってきました:) – jgetner

+0

ああ...私はあなたが意味するものを参照してください。ありがとう!あなたの助言から今働きます! :)また、それの検証について取られたノート。私は$ _POSTに変更しました。それはうまく動作しています。 – Jackie

関連する問題