【发布时间】:2016-04-02 13:04:25
【问题描述】:
我愿意添加或更新带有自动缩略图的图像到文件夹并添加到 MySQL 数据库的路径。我用这个试过这个代码。我能够将图像上传到文件夹并将路径保存到数据库,但我无法生成缩略图,请帮助我。
<?php
ob_start();
include('include/connect.php');
if(isset($_GET['id']))
{
$qry = "SELECT * FROM tbl_emp where id=".$_GET['id'];
$result = mysql_query($qry);
$row = mysql_fetch_array($result);
if($_SERVER["REQUEST_METHOD"] == "POST")
{
$name = $_POST["name"];
IF($_FILES['file']['name']!='')
{
$file='uploads/'.$row['image'];
$thumbs='uploads/thumbs/'.$row['image'];
@unlink($file);
$tmp_name = $_FILES["file"]["tmp_name"];
$namefile = $_FILES["file"]["name"];
$ext = end(explode(".", $namefile));
$image_name=time().".".$ext;
$fileUpload = move_uploaded_file($tmp_name,"uploads/".$image_name);
$Uploadthumbs = move_uploaded_file($tmp_name,"uploads/thumbs/".$image_name);
}
else
{
$image_name=$row['image'];
}
$sqlAdd ="update tbl_emp set name='".$name."', image='".$image_name."' where id=".$_GET['id'];
mysql_query($sqlAdd);
header("Location:add.php?id=".@$_GET['id']."&msg=success");
exit;
}
}
else
{
if($_SERVER["REQUEST_METHOD"] == "POST")
{
$name = $_POST["name"];
IF($_FILES['file']['name']!='')
{
$tmp_name = $_FILES["file"]["tmp_name"];
$namefile = $_FILES["file"]["name"];
$ext = end(explode(".", $namefile));
$image_name=time().".".$ext;
$fileUpload = move_uploaded_file($tmp_name,"uploads/".$image_name);
$Uploadthumbs = move_uploaded_file($tmp_name,"uploads/thumbs/".$image_name);
}
$sqlAdd = mysql_query("insert into tbl_emp(name,image) VALUES('$name','$image_name')");
header("Location:add.php?msg=success");
exit;
}
}
ob_end_flush();
if(isset($_GET['msg']))
{
?>
<div style="color:red;padding-bottom:10px;" class="form-message" align="center"><b>Task completd successfully.</b></div>
<?php
}
?>
【问题讨论】:
-
就像名字所说的
move_uploaded_file()移动文件从临时文件夹到你说移动它的任何地方。因此,第二次运行它时,临时文件不再存在。将第二个move_uploaded_file()替换为copy() -
通过这样做,我得到了一个相同大小的图像副本到拇指文件夹中,现在我需要调整它的大小
标签: php mysql database image-uploading image-upload