名前とドロップゾーンのフィールドがあるフォームがあります。だから、もし私がupload
メインのフォルダにファイルをアップロードしたいのであれば、それは動作していますが、私は<input type="text" name="name" />
によってフォルダ名を取得しているように、子フォルダにファイルをアップロードしたいです。Dropzone JSでファイルを子フォルダにアップロード
HTML:
<input type="text" name="name" class="form-control fl_name" />
<div class="dropzone"></div>
JS:
// CREATE FOLDER FOR FILE UPLOADS
$('.name-alert').hide();
$('.fl_name').on('change', function() {
var fl_name = 'name='+ $(this).val();
var fl_url = $(this).closest('form').attr('action');
$.ajax({
type: 'POST',
url: fl_url,
data: fl_name,
cache: false,
success: function(result){
if (result == '0') {
$('.name-alert').slideDown();
setTimeout(function() {
$('.name-alert').slideUp();
}, 2000);
}
}
});
});
// CREATE DROPZONE ENVIORMENT
var myDropzone = new Dropzone('div.dropzone', {
url: "http://localhost/build/assets/php/customer-query.php",
addRemoveLinks: true,
init: function() {
this.on('success', function(file, resp){
var fl_name = 'name='+ $('.fl_name').val();
var fl_url = 'http://localhost/build/assets/php/customer-query.php';
$.ajax({
type: 'POST',
url: fl_url,
data: fl_name,
cache: false,
success: function(result){
console.log(result);
}
});
});
},
});
PHP:私のコードファイル内
// Create Folder On Input Field Change
$fname = $_POST['name'];
if (!file_exists('../uploads/'.$fname.'/')) {
mkdir('../uploads/'.$fname.'/', 0777, true);
} else {
echo '0';
}
// Upload Files
$fl_name = $_POST['name'];
$ds = DIRECTORY_SEPARATOR;
$storeFolder = '../uploads/'.$fl_name.'/';
if (!empty($_FILES)) {
$tempFile = $_FILES['file']['tmp_name'];
$targetPath = dirname(__FILE__) .$ds. $storeFolder .$ds;
$targetFile = $targetPath. $_FILES['file']['name'];
move_uploaded_file($tempFile,$targetFile);
}
はまだメインフォルダの代わりに、新しいフォルダにアップロードしています。
おかげ
同じ結果私は空白に反応しています。 –
エラーが発生しますか?あなたのコードを正しく読んでいれば、$ dsはディレクトリ区切り文字であり、$ storeFolder = '../uploads/'.$fl_name.'/'の後にあなたのファイルパスに多くの/があるかもしれません。すでにそれを持っています。私が間違ってそれを読んでいるなら、$ dsは何ですか? – SteveB