显示上传到我的根文件夹中的图片文件夹中的图像的错误

时间:2012-03-25 12:04:08

标签: php mysql image

我需要你的脚本帮助。我有一个页面,我用这个签名将用户信息上传到根文件夹中的签名文件夹 我的代码的这一部分如下:

                {
                $uploaddir = "uploads";

                $file = str_replace(' ', '_', $_FILES
  ['signature']['name']);       

       switch($_FILES['signature']['type']) {
                case "image/gif":                        
                case "image/jpeg":
                case "image/pjpeg":
                case "image/png":
                $uploaddir .= 'signatures';
                break;                                                                                    

                }         

                foreach($_FILES as $signature)                                             

   $tmp_name = $signature['tmp_name'];
                $type = $signature['type'];
                $name = $signature['name'];
                $size = $signature['size'];      


                if (move_uploaded_file($_FILES
   ['signature']['tmp_name'], $uploaddir.        $file)) {

         $query = "INSERT INTO users                  (users_id, tmp_name, type, name, size)  
       VALUES (NULL,  '$tmp_name', '$type'          , '$name' , '$size')"
     mysql_query($query) or
     die (mysql_error()); 
                }

这是我用来调用我想要的文件名的查询。

 $query10 = mysql_query("SELECT name 
                      FROM  users
             WHERE username = '".$_SESSION        ['logged_username']."'") or 
   die (mysql_error());  
               $signature = mysql_fetch_array        ($query10);

我是如何尝试显示我使用php脚本上传的签名。

 echo "<img  src = \"uploads\""?><?php                   echo $signature['name'] ;?>"/<?        php "width=\"50\" height=\"100\">" ;

图片没有显示,虽然它显示了一个里面没有任何东西的小盒子。我很确定图片已经上传到我的root的签名文件夹中。

请原谅我的格式。我的意思是对这个社区没有任何不满。 我对您的意见,答案和建议非常满意。 提前谢谢。

3 个答案:

答案 0 :(得分:0)

用以下代码替换显示图像的代码:

  $uploadpath="uploads/";
  echo "<img  src ='".$uploadpath.$signature['name']."' width='50' height='100'>" ;

答案 1 :(得分:0)

最明显的原因似乎是您从不同的路径读取图像而不是存储图像。如您所述,您将图像保存在“签名”文件夹中,但您正在从“上传”文件夹中读取。试试这个回声:

echo '<img  src = "signatures"' . $signature['name'] . ' width="50" height="100">';

如果上面仍然没有显示图像,则需要进行一些调试。

  1. 在PHP代码中,有两个可能存储图像的目的地 - “上传”和“签名”文件夹。请确保保存图像的文件夹。也许您应首先检查图像存在哪条路径(使用file_exists),然后相应地决定使用哪条路径作为源。

  2. 请确保图片实际上传

  3. 顺便说一句,是否有一个特定的原因可以在PHP代码中转义\(反斜杠):

    $uploaddir = "uploads\\";
    $uploaddir = "signatures\\";
    

    希望以上有帮助!

答案 2 :(得分:0)

  $uploadpath="uploads/signatures/";
             echo "<img  src =".$uploadpath.      $signature['name']." width=\"50\"               height = \"100"\>" ;