如何在 yii 2.0 框架中使用(多图像拖放区)此 php 代码
how to use (drop zone for multi images) this php code in yii 2.0 framework
如何在 Yii 2.0 框架中使用(多图像拖放区)此 PHP 代码。我是 Yii 的新开发者
谢谢
form.php
<div class="container">
<div class="row">
<div class="col-md-12">
<h2>PHP - Multiple Image upload using dropzone.js</h2>
<form action="upload.php" enctype="multipart/form-data" class="dropzone" id="image-upload">
<div>
<h3>Upload Multiple Image By Click On Box</h3>
</div>
</form>
</div>
</div>
</div>
动作文件
$uploadDir = 'uploads';
if (!empty($_FILES)) {
$tmpFile = $_FILES['file']['tmp_name'];
$filename = $uploadDir.'/'.time().'-'. $_FILES['file']['name'];
move_uploaded_file($tmpFile,$filename);
}
脚本代码
<script type="text/javascript">
Dropzone.options.imageUpload = {
maxFilesize:1,
acceptedFiles: ".jpeg,.jpg,.png,.gif"
};
</script>
Yii 文件
form.php
<?= $form->field($model, 'status')->dropDownList([ '1' => 'Yes', '0' => 'No']) ?>
<?= $form->field($model, 'images')->fileInput(['maxlength' => true]) ?>
您首先必须在表单中定义添加拖放区:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js">
</script>`
<script src="../../assets/dropzone/js/dropzone.js"></script>
<link type="text/css" rel="stylesheet"
href="../../assets/dropzone/css/dropzone.css">
<div action="" id="dZUpload" class="dropzone" method="post"
enctype="multipart/form-data">
<div class="dz-default dz-message">Drop files here to upload or click</div>
</div>
之后为 dropzone 添加 js:
<scirpt>
$(document).ready(function () {
Dropzone.autoDiscover = false;
var url = "http://locahost/url/createpage";
console.log(url);
$('#dZUpload').dropzone({
url: url,
addRemoveLinks: true,
maxFiles: 5,
autoProcessQueue: false,
enqueueForUpload: false,
uploadMultiple: true,
autoDiscover: false,
parallelUploads: 5,
clickable: true,
maxFilesize: 100,
acceptedFiles: "image/jpeg,image/png",
success: function (file, response) {
var imgName = response;
file.previewElement.classList.add("dz-success");
console.log("Successfully uploaded :" + imgName);
},
init: function () {
var myDropzone = this;
myDropzone.on("addedfile", function (file) {
alert("new file added");
});
myDropzone.on("maxfilesexceeded", function (file) {
this.removeFile(file);
});
var submitButton = document.querySelector("#submit");
submitButton.addEventListener("click", function (file) {
if (myDropzone.getQueuedFiles().length > 0) {
var submitfiles = false;
if (submitfiles === true) {
submitfiles = false;
return;
}
file.preventDefault();
var deleted_image_data = document.getElementById('deleteImage').value;
myDropzone.on('sending', function (file, xhr, formData) {
formData.append('deleted_image_data', deleted_image_data);
});
myDropzone.processQueue();
myDropzone.on("complete", function () {
submitfiles = true;
$('#submit').trigger('click');
});
}
});
}
});
});</script>
如何在 Yii 2.0 框架中使用(多图像拖放区)此 PHP 代码。我是 Yii 的新开发者 谢谢
form.php
<div class="container">
<div class="row">
<div class="col-md-12">
<h2>PHP - Multiple Image upload using dropzone.js</h2>
<form action="upload.php" enctype="multipart/form-data" class="dropzone" id="image-upload">
<div>
<h3>Upload Multiple Image By Click On Box</h3>
</div>
</form>
</div>
</div>
</div>
动作文件
$uploadDir = 'uploads';
if (!empty($_FILES)) {
$tmpFile = $_FILES['file']['tmp_name'];
$filename = $uploadDir.'/'.time().'-'. $_FILES['file']['name'];
move_uploaded_file($tmpFile,$filename);
}
脚本代码
<script type="text/javascript">
Dropzone.options.imageUpload = {
maxFilesize:1,
acceptedFiles: ".jpeg,.jpg,.png,.gif"
};
</script>
Yii 文件
form.php
<?= $form->field($model, 'status')->dropDownList([ '1' => 'Yes', '0' => 'No']) ?>
<?= $form->field($model, 'images')->fileInput(['maxlength' => true]) ?>
您首先必须在表单中定义添加拖放区:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js">
</script>`
<script src="../../assets/dropzone/js/dropzone.js"></script>
<link type="text/css" rel="stylesheet"
href="../../assets/dropzone/css/dropzone.css">
<div action="" id="dZUpload" class="dropzone" method="post"
enctype="multipart/form-data">
<div class="dz-default dz-message">Drop files here to upload or click</div>
</div>
之后为 dropzone 添加 js:
<scirpt>
$(document).ready(function () {
Dropzone.autoDiscover = false;
var url = "http://locahost/url/createpage";
console.log(url);
$('#dZUpload').dropzone({
url: url,
addRemoveLinks: true,
maxFiles: 5,
autoProcessQueue: false,
enqueueForUpload: false,
uploadMultiple: true,
autoDiscover: false,
parallelUploads: 5,
clickable: true,
maxFilesize: 100,
acceptedFiles: "image/jpeg,image/png",
success: function (file, response) {
var imgName = response;
file.previewElement.classList.add("dz-success");
console.log("Successfully uploaded :" + imgName);
},
init: function () {
var myDropzone = this;
myDropzone.on("addedfile", function (file) {
alert("new file added");
});
myDropzone.on("maxfilesexceeded", function (file) {
this.removeFile(file);
});
var submitButton = document.querySelector("#submit");
submitButton.addEventListener("click", function (file) {
if (myDropzone.getQueuedFiles().length > 0) {
var submitfiles = false;
if (submitfiles === true) {
submitfiles = false;
return;
}
file.preventDefault();
var deleted_image_data = document.getElementById('deleteImage').value;
myDropzone.on('sending', function (file, xhr, formData) {
formData.append('deleted_image_data', deleted_image_data);
});
myDropzone.processQueue();
myDropzone.on("complete", function () {
submitfiles = true;
$('#submit').trigger('click');
});
}
});
}
});
});</script>