图像没有从tmp目录移动到linux服务器中的另一个文件夹

时间:2013-06-03 09:37:17

标签: php linux apache apache2

我设计了一个网站,它将图像作为输入,并使用ajax我显示了图像。它在本地工作正常,但当我将其上传到服务器时,图像不显示。发生的过程是:1)用户上传图像2)默认情况下,图像存储在临时文件夹中3)存储在临时文件夹中的图像被移动到文件夹上传4)图像显示在DIV。我检查了路径,但对我来说似乎没问题。我将发布代码以供审核:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
               <link rel="stylesheet" href="MainStyleSheet.css" type="text/css">
               <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
               <script src="html5slider.js"></script>
                    <script type="text/javascript" src="scripts/jquery.form.js"></script>


                    <script type="text/javascript">
                    $(document).ready(function() 
                    {    


                    $('#file').live('change', function()    
                    { 
                    $("#preview").html('');
                    $("#preview").html('<img src="images/loader.gif" alt="Uploading...."/>');
                    $("#imageform").ajaxForm(
                    {
                    target: '#preview'
                    }).submit();




                    }); 
                    </script>
                    <script type="text/javascript">
                    function myfunction()
                    {

                    $("#display").html('');
                    $("#display").html('<img src="images/loader.gif" alt="Uploading...."/>');
                    $("#retrieveimageform").ajaxForm(
                    {
                    target: '#display'
                    }).submit();
                     $("#tagsform").ajaxForm(
                    {
                    target: '#tags'
                    }).submit();


                    };


                    </script>

        <title></title>
    </head>
    <body>
        <div id="maindiv">
                <div id="banner">
                <?php
                include 'Header.php';

                ?>
                 </div>
                <div id="wrapper">




                        <div id="imageupload">
                    <form action="uploadimage.php" method="post"
                         enctype="multipart/form-data" id="imageform">
                         <label for="file">Upload your image:</label>
                       <input type="file" name="file" id="file"><br>

                    </form>
                        </div>
                       <div id='preview'>  
                        </div>

                        <div id='tags'>
                    </div>
                        </form>
                       <div class="clear"></div>
                   ........................................

                   <div id="footer">
                 <?php
                include 'Footer.php';

                ?>
                </div>
         </div>
        <div id='screen'>
        </div>

    </body>
</html>

uploadimage.php包含:

<?php
                         session_start();
                        $allowedExts=array("gif","jpeg","jpg","png");
                        $extension=  end(explode(".", $_FILES["file"]["name"]));
                        if((($_FILES["file"]["type"]=="image/gif")
                         ||($_FILES["file"]["type"]=="image/jpeg")  
                        ||($_FILES["file"]["type"]=="image/jpg")
                         ||($_FILES["file"]["type"]=="image/png"))
                                && ($_FILES["file"]["size"]<2000000)
                                && in_array($extension, $allowedExts))
                        {



                        if ($_FILES["file"]["error"]>0)
                        {
                            echo "Error:".$_FILES["file"]["error"]."<br>";
                        }
                        else{
                           // echo "Upload: ".$_FILES["file"]["name"]."<br>";
                           // echo "Store in: ".$_FILES["file"]["tmp_name"]."<br>";


                            move_uploaded_file($_FILES["file"]["tmp_name"],"upload/".$_FILES["file"]["name"]);
                            //echo "Stored in "."upload/".$_FILES["file"]["name"];
                            echo "<img src='upload/".$_FILES["file"]["name"]."' class='preview' height='300' width='250'>";

                            $_SESSION['img']="upload/".$_FILES["file"]["name"];





                        }

                         }
                         else
                         {
                             echo "Invalid file";
                         }
?>

在服务器中,当用户给出输入并且图像未显示时,图像不存储在上传文件夹中。任何解决方案?:请帮助。服务器是linux服务器。

1 个答案:

答案 0 :(得分:1)

问题在于文件权限。 使用以下命令

sudo chmod 777 absolute_path_of_you_dir

在Ubuntu上。