重命名文件时出现PHP图像上传问题

时间:2014-02-26 10:06:52

标签: php file-upload sql-insert

我正在尝试上传图片并同时重命名图片。但是,它显示错误。我试图找到一个解决方案,但运气不错。任何人都可以帮助我吗?

以下是我的代码。

<?php
    include('connection.php');

    $sql="select * from upload";
    $query=mysql_query($sql) or die("query failed".mysql_error());
    if(mysql_num_rows($query)>0) {
        $sql="select id from upload";
        $query=mysql_query($sql) or die("query failed".mysql_error());
        while($row=mysql_fetch_array($query)) {
            $id=$row[0];
        }
    } else {
        $id='1';
    }

    move_uploaded_file($_FILES["file"]["name"],"upload/".$id.$_FILES["file"]["name"]);   

    $query1 = "insert into upload(image) values('.$id.$_FILES["file"]["name"].')";
    mysql_query($query1) or die("query failed1".mysql_error());
?>

1 个答案:

答案 0 :(得分:3)

尝试以下代码。

设计文件中的

<form action="process.php" method="post">
<input type="file" name="file" id="file"/>
<input type="submit" value="Submit"/>
</form>

并在代码文件中。

<?php
    include('connection.php');

    if ($_FILES["file"]["error"] > 0)
    {
    echo "Apologies, an error has occurred.";
    echo "Error Code: ".$_FILES["file"]["error"];
   }
else
   {
                $sql="select * from TABLE_NAME";
                $query=mysql_query($sql) or die("query failed".mysql_error());
                if(mysql_num_rows($query)>0)
                {
                $sql="select max(id) from TABLE_NAME";
                $query=mysql_query($sql) or die("query failed".mysql_error());
                while($row=mysql_fetch_array($query))
                {
                    $id=$row[0];
                }
                }
                else
                {
                    $id='1';
                }
                move_uploaded_file($_FILES["file"]["tmp_name"],"FOLDER NAME/".$id.$_FILES["file"]["name"]);   

$query1 = "insert into TABLE NAME(image) values('".$id.$_FILES["file"]["name"]."')" or die("query failed1".mysql_error());
    mysql_query($query1) or die("query failed1".mysql_error());
}