Php 上传后显示图像

Php 上传后显示图像,php,Php,有简单的形式上传图像,我想在上传后显示图像。一切正常,文件也上传,但照片不显示。请帮助。 表格: 和php: <?php //define a maxim size for the uploaded images in Kb define ("MAX_SIZE","5060"); //This function reads the extension of the file. It is used to determine if the file i

有简单的形式上传图像,我想在上传后显示图像。一切正常,文件也上传,但照片不显示。请帮助。 表格:


和php:

<?php
      //define a maxim size for the uploaded images in Kb
      define ("MAX_SIZE","5060");
      //This function reads the extension of the file. It is used to determine if the file is an image by checking the extension.

      function getExtension($str) 
      {
        $i = strrpos($str,".");
        if (!$i) { return ""; }

        $l = strlen($str) - $i;
        $ext = substr($str,$i+1,$l);
        return $ext;
      }

      //This variable is used as a flag. The value is initialized with 0 (meaning no error found) 
      //and it will be changed to 1 if an errro occures. 

      //If the error occures the file will not be uploaded.
      $errors=0;

      //checks if the form has been submitted
      if(isset($_POST['Submit']))
      {
        //reads the name of the file the user submitted for uploading
        $image=$_FILES['image']['name'];

        //if it is not empty
        if ($image)
         {
            //get the original name of the file from the clients machine
            $filename = stripslashes($_FILES['image']['name']);

           //get the extension of the file in a lower case format
            $extension = getExtension($filename);
            $extension = strtolower($extension);

           /*if it is not a known extension, we will suppose it is an error 
             and will not upload the file, otherwise we will do more tests */

             if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif"))
             {
                //print error message
                echo '<h2>Unknown extension!</h2>';
                $errors=1;
              }
              else
              {
                 //get the size of the image in bytes
                 //$_FILES['image']['tmp_name'] is the temporary filename of the file
                 //in which the uploaded file was stored on the server

                 $size=filesize($_FILES['image']['tmp_name']);
                 //compare the size with the maxim size we defined and print error if bigger
                  if ($size > MAX_SIZE*1024)
                  {
                     echo '<h2>You have exceeded the file size limit! Please reduce the image size to 100 Kb or less!</h2>';
                      $errors=1;
                   }

                  //we will give an unique name, for example the time in unix time format
                  $image_name=$filename;
                  //the new name will be containing the full path where will be stored (images folder)
                  $newname="../images/".$image_name;


                 //we verify if the image has been uploaded, and print error instead

                 $copied = copy($_FILES['image']['tmp_name'], $newname);

                 if (!$copied)
                {
                    echo '<h2>Copy unsuccessful!</h2>';
                    $errors=1;
                }
             }
            }
           }

          //If no errors registred, print the success message

          if(isset($_POST['Submit']) && !$errors)
          {
              <img src="http://localhost/images/<?php echo $image_name; ?>" alt="There ya go" />
           }
    ?>

错误消息会准确地告诉您问题所在。您不能像这样混合使用HTML和PHP:

if(isset($_POST['Submit']) && !$errors)
{
    <img src="http://localhost/images/<?php echo $image_name; ?>" alt="There ya go" />
}
if(isset($_POST['Submit']) && !$errors)
{
    echo "<img src=\"http://localhost/images/$image_name\" alt=\"There ya go\" />";
}
if(isset($_POST['Submit']) && !$errors)
{
    <img src="http://localhost/images/<?php echo $image_name; ?>" alt="There ya go" />
}
if(isset($_POST['Submit']) && !$errors)
{
    echo "<img src=\"http://localhost/images/$image_name\" alt=\"There ya go\" />";
}
if(设置($\u POST['Submit'])&&&!$errors)
{
“alt=”好了“/>
}
该标记需要包装在字符串文字中,并像任何其他标记一样进行回显。如下所示:

if(isset($_POST['Submit']) && !$errors)
{
    <img src="http://localhost/images/<?php echo $image_name; ?>" alt="There ya go" />
}
if(isset($_POST['Submit']) && !$errors)
{
    echo "<img src=\"http://localhost/images/$image_name\" alt=\"There ya go\" />";
}
if(isset($_POST['Submit']) && !$errors)
{
    <img src="http://localhost/images/<?php echo $image_name; ?>" alt="There ya go" />
}
if(isset($_POST['Submit']) && !$errors)
{
    echo "<img src=\"http://localhost/images/$image_name\" alt=\"There ya go\" />";
}
if(设置($\u POST['Submit'])&&&!$errors)
{
回声“;
}
或者,如果您愿意,可以这样做:

if(isset($_POST['Submit']) && !$errors)
{
    echo '<img src="http://localhost/images/' . $image_name . '" alt="There ya go" />';
}
if(isset($_POST['Submit']) && !$errors)
{
    echo '<img src="http://localhost/images/' . $image_name . '" alt="There ya go" />';
}
if(设置($\u POST['Submit'])&&&!$errors)
{
回声';
}

这就是您的问题所在:

             if(isset($_POST['Submit']) && !$errors)
             {
                 <img src="http://localhost/images/<?php echo $image_name; ?>" alt="There ya go" />
             }
if(设置($\u POST['Submit'])&&&!$errors)
{
“alt=”好了“/>
}
问题是,您在PHP代码中使用的是HTML语法。关闭PHP,添加HTML代码,然后重新打开PHP:

             if(isset($_POST['Submit']) && !$errors)
             {
             ?>
                 <img src="http://localhost/images/<?php echo $image_name; ?>" alt="There ya go" />
             <?php

             }
if(设置($\u POST['Submit'])&&&!$errors)
{
?>
“alt=”好了“/>
if(设置($\u POST['Submit'])&&&!$errors)
{
“alt=”好了“/>
}
该标记需要包装在字符串文字中,并像任何其他标记一样进行回显。如下所示:

if(isset($_POST['Submit']) && !$errors)
{
    <img src="http://localhost/images/<?php echo $image_name; ?>" alt="There ya go" />
}
if(isset($_POST['Submit']) && !$errors)
{
    echo "<img src=\"http://localhost/images/$image_name\" alt=\"There ya go\" />";
}
if(isset($_POST['Submit']) && !$errors)
{
    <img src="http://localhost/images/<?php echo $image_name; ?>" alt="There ya go" />
}
if(isset($_POST['Submit']) && !$errors)
{
    echo "<img src=\"http://localhost/images/$image_name\" alt=\"There ya go\" />";
}
if(设置($\u POST['Submit'])&&&!$errors)
{
回声“;
}
或者,如果您愿意,可以这样做:

if(isset($_POST['Submit']) && !$errors)
{
    echo '<img src="http://localhost/images/' . $image_name . '" alt="There ya go" />';
}
if(isset($_POST['Submit']) && !$errors)
{
    echo '<img src="http://localhost/images/' . $image_name . '" alt="There ya go" />';
}
if(设置($\u POST['Submit'])&&&!$errors)
{
回声';
}

问题是,您在php中使用的是html标记,它主要在if条件下不起作用

试试这个:

  echo '<img src="http://localhost/images/' . $image_name . '" alt="There ya go" />';
echo';
你也可以在这里参考:

if(file_exists($file)){
echo $file."</br>";
echo "<img src="<?php echo file_dir . '/' . $imageone; ?>" height="100" width="100"/>" ;

}
if(文件存在($file)){
echo$文件“
”; 回声“height=“100”width=“100”/>”; }
在这种情况下,
$file
将是文件的目标路径,您可以应用与相同的函数


在您的脚本中。

使用一个开头echo=>
“alt=”There ya go“/>并删除echo和php标记。第一个错误我看到localhost/images/“alt=”There ya go“/>您忘记使用echo并向所有帮助过的人引用stringThankx。我得到了解决方案。再次感谢。第二种方法是最好的。谢谢。