为了账号安全,请及时绑定邮箱和手机立即绑定

我可以移动两个文件夹的文件吗?滴点.js

我可以移动两个文件夹的文件吗?滴点.js

PHP
波斯汪 2022-09-03 15:58:51
我的拖放区表单<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));}
查看完整描述

1 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

首先,让我们看看你做错了什么:


// 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));    

    }

}


查看完整回答
反对 回复 2022-09-03
  • 1 回答
  • 0 关注
  • 70 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信