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));
}
}
- 1 回答
- 0 关注
- 70 浏览
添加回答
举报