我可以移动两个文件夹的文件吗? Dropzone.js
Can i move file for two folders? Dropzone.js
我的空降区表格
<div align="center">
<button class="btn btn-success" id="add" onclick='add_img()'>Adicionar imagens <i class="lni-check-mark-circle"></i></button>
</div>
<span id="menos_img"></span>
<span style="display: none;" id="mais_img">
<div class="m-auto">
<form action="clients_images_update.php" style="min-height: 0px;" method="POST" class="dropzone">
<input type="hidden" name="clients_id" value="<?php echo $id; ?>">
<input type="hidden" name="users_id" value="<?php echo $_SESSION["user"]["id"]; ?>" />
</form>
<div align="center">
<br>
<button class="btn btn-success" onClick="window.location.reload();">Atualizar <i class="lni-check-mark-circle"></i></button>
<button class="btn btn-secondary" onClick="cancela();">Cancelar <i class='lni-cross-circle'></i></i></button>
</div>
</div>
</span>
我上传的文件:
if(!empty($_FILES)) {
$fileName = $_FILES['file']['name'];
$source_path = $_FILES['file']['tmp_name'];
$fileExtension = pathinfo($fileName, PATHINFO_EXTENSION);
$targetFile = $id."_".$fileName;
//$targetFile = $id."_".strtotime("now").$fileName;
$target_path = "img/clients/".$targetFile;
$array["filename"] = $targetFile;
$array["main"] = (int)($db->query("SELECT * FROM images WHERE clients_id = :clients_id;", array("clients_id" => $id), false) == 0);
$array["clients_id"] = $id;
if(move_uploaded_file($source_path, $target_path)) {
$db->insert("images", $array);
}
$db->insert("log", array("action" => "image", "inserted_on" => date("Y-m-d H:i:s"), "users_id" => $_POST["users_id"], "clients_id" => $id));
}
我想上传文件到2个文件夹。我试过做同样的过程,但存储在 2 文件夹中,但上传没有完成。我试过了,用上面的代码添加了这段代码摘录,但它没有上传
if(!empty($_FILES)) {
$fileName = $_FILES['file']['name'];
$source_path = $_FILES['file']['tmp_name'];
$fileExtension = pathinfo($fileName, PATHINFO_EXTENSION);
$targetFile = $id."_".$fileName;
//$targetFile = $id."_".strtotime("now").$fileName;
$target_path = "img/clients/thumbs/".$targetFile;
if(move_uploaded_file($source_path, $target_path)) {
}
}
我试过的完整代码(相对于图片的上传)是这样的:
if (!empty($_FILES)) {
$fileName = $_FILES['file']['name'];
$source_path = $_FILES['file']['tmp_name'];
$fileExtension = pathinfo($fileName, PATHINFO_EXTENSION);
$targetFile = $id."_".$fileName;
//$targetFile = $id."_".strtotime("now").$fileName;
$target_path = "img/clients/".$targetFile;
$target_path2 = "img/clients/thumbs/".$targetFile;
$array["filename"] = $targetFile;
$array["main"] = (int)($db->query("SELECT * FROM images WHERE clients_id = :clients_id;", array("clients_id" => $id), false) == 0);;
$array["clients_id"] = $id;
if (move_uploaded_file($source_path, $target_path)) {
$db->insert("images", $array);
}
image::resize($source_path, "img/clients/thumbs/".$targetFile, 100, 100);
$db->insert("log", array("action" => "image", "inserted_on" => date("Y-m-d
H:i:s"), "users_id" => $_POST["users_id"], "clients_id" => $id));
if(move_uploaded_file($source_path, $target_path1)) {
echo "Success";
}
}
首先,让我们看看你做错了什么:
// You're moving the original file right here, this is fine
if(move_uploaded_file($source_path, $target_path)) {
$db->insert("images", $array);
}
// This won't work, because you're trying to access orginal file (moved already)
image::resize($source_path, "img/clients/thumbs/".$targetFile, 100, 100);
$db->insert("log", array("action" => "image", "inserted_on" => date("Y-m-d
H:i:s"), "users_id" => $_POST["users_id"], "clients_id" => $id));
// Now you're trying to move again the original file
if(move_uploaded_file($source_path, $target_path1)) {
echo "Success";
}
那么,逻辑就更简单了:
首先:如果有一个文件,将它移动到它的目的地并保持不变
其二:创建缩略图并保存在对应的文件夹中,不需要复制,因为文件已经存在
if(!empty($_FILES)) {
$fileName = $_FILES['file']['name'];
$source_path = $_FILES['file']['tmp_name'];
$fileExtension = pathinfo($fileName, PATHINFO_EXTENSION);
$targetFile = $id."_".$fileName;
$target_path = "img/clients/".$targetFile;
$array["filename"] = $targetFile;
$array["main"] = (int)($db->query("SELECT * FROM images WHERE clients_id = :clients_id;", array("clients_id" => $id), false) == 0);;
$array["clients_id"] = $id;
// Move original file
if(move_uploaded_file($source_path, $target_path)) {
$db->insert("images", $array);
// Create thumb only if the file was moved, otherwhise you'll get errors
// Your source is the file moved, not the one on temp folder
image::resize($target_path, "img/clients/thumbs/".$targetFile, 100, 100);
$db->insert("log", array("action" => "image", "inserted_on" => date("Y-m-d
H:i:s"), "users_id" => $_POST["users_id"], "clients_id" => $id));
}
}
我的空降区表格
<div align="center">
<button class="btn btn-success" id="add" onclick='add_img()'>Adicionar imagens <i class="lni-check-mark-circle"></i></button>
</div>
<span id="menos_img"></span>
<span style="display: none;" id="mais_img">
<div class="m-auto">
<form action="clients_images_update.php" style="min-height: 0px;" method="POST" class="dropzone">
<input type="hidden" name="clients_id" value="<?php echo $id; ?>">
<input type="hidden" name="users_id" value="<?php echo $_SESSION["user"]["id"]; ?>" />
</form>
<div align="center">
<br>
<button class="btn btn-success" onClick="window.location.reload();">Atualizar <i class="lni-check-mark-circle"></i></button>
<button class="btn btn-secondary" onClick="cancela();">Cancelar <i class='lni-cross-circle'></i></i></button>
</div>
</div>
</span>
我上传的文件:
if(!empty($_FILES)) {
$fileName = $_FILES['file']['name'];
$source_path = $_FILES['file']['tmp_name'];
$fileExtension = pathinfo($fileName, PATHINFO_EXTENSION);
$targetFile = $id."_".$fileName;
//$targetFile = $id."_".strtotime("now").$fileName;
$target_path = "img/clients/".$targetFile;
$array["filename"] = $targetFile;
$array["main"] = (int)($db->query("SELECT * FROM images WHERE clients_id = :clients_id;", array("clients_id" => $id), false) == 0);
$array["clients_id"] = $id;
if(move_uploaded_file($source_path, $target_path)) {
$db->insert("images", $array);
}
$db->insert("log", array("action" => "image", "inserted_on" => date("Y-m-d H:i:s"), "users_id" => $_POST["users_id"], "clients_id" => $id));
}
我想上传文件到2个文件夹。我试过做同样的过程,但存储在 2 文件夹中,但上传没有完成。我试过了,用上面的代码添加了这段代码摘录,但它没有上传
if(!empty($_FILES)) {
$fileName = $_FILES['file']['name'];
$source_path = $_FILES['file']['tmp_name'];
$fileExtension = pathinfo($fileName, PATHINFO_EXTENSION);
$targetFile = $id."_".$fileName;
//$targetFile = $id."_".strtotime("now").$fileName;
$target_path = "img/clients/thumbs/".$targetFile;
if(move_uploaded_file($source_path, $target_path)) {
}
}
我试过的完整代码(相对于图片的上传)是这样的:
if (!empty($_FILES)) {
$fileName = $_FILES['file']['name'];
$source_path = $_FILES['file']['tmp_name'];
$fileExtension = pathinfo($fileName, PATHINFO_EXTENSION);
$targetFile = $id."_".$fileName;
//$targetFile = $id."_".strtotime("now").$fileName;
$target_path = "img/clients/".$targetFile;
$target_path2 = "img/clients/thumbs/".$targetFile;
$array["filename"] = $targetFile;
$array["main"] = (int)($db->query("SELECT * FROM images WHERE clients_id = :clients_id;", array("clients_id" => $id), false) == 0);;
$array["clients_id"] = $id;
if (move_uploaded_file($source_path, $target_path)) {
$db->insert("images", $array);
}
image::resize($source_path, "img/clients/thumbs/".$targetFile, 100, 100);
$db->insert("log", array("action" => "image", "inserted_on" => date("Y-m-d
H:i:s"), "users_id" => $_POST["users_id"], "clients_id" => $id));
if(move_uploaded_file($source_path, $target_path1)) {
echo "Success";
}
}
首先,让我们看看你做错了什么:
// You're moving the original file right here, this is fine
if(move_uploaded_file($source_path, $target_path)) {
$db->insert("images", $array);
}
// This won't work, because you're trying to access orginal file (moved already)
image::resize($source_path, "img/clients/thumbs/".$targetFile, 100, 100);
$db->insert("log", array("action" => "image", "inserted_on" => date("Y-m-d
H:i:s"), "users_id" => $_POST["users_id"], "clients_id" => $id));
// Now you're trying to move again the original file
if(move_uploaded_file($source_path, $target_path1)) {
echo "Success";
}
那么,逻辑就更简单了:
首先:如果有一个文件,将它移动到它的目的地并保持不变
其二:创建缩略图并保存在对应的文件夹中,不需要复制,因为文件已经存在
if(!empty($_FILES)) {
$fileName = $_FILES['file']['name'];
$source_path = $_FILES['file']['tmp_name'];
$fileExtension = pathinfo($fileName, PATHINFO_EXTENSION);
$targetFile = $id."_".$fileName;
$target_path = "img/clients/".$targetFile;
$array["filename"] = $targetFile;
$array["main"] = (int)($db->query("SELECT * FROM images WHERE clients_id = :clients_id;", array("clients_id" => $id), false) == 0);;
$array["clients_id"] = $id;
// Move original file
if(move_uploaded_file($source_path, $target_path)) {
$db->insert("images", $array);
// Create thumb only if the file was moved, otherwhise you'll get errors
// Your source is the file moved, not the one on temp folder
image::resize($target_path, "img/clients/thumbs/".$targetFile, 100, 100);
$db->insert("log", array("action" => "image", "inserted_on" => date("Y-m-d
H:i:s"), "users_id" => $_POST["users_id"], "clients_id" => $id));
}
}