2017-09-30 25 views
-1

我试图将文件上传到服务器,然后将其显示给用户。我很难将图像显示给用户。上传图像并将其显示给用户

如果您可以提供帮助我将图像显示给用户的代码。该代码应适合在PHP文件有权根据这里//显示图像< ---------

HTML文件

<html> 
     <body> 
      <form method="post" enctype="multipart/form-data" action="server.php"> 
      <input type="file" name="fileToUpload" id="fileToUpload" size="35"> 
      <br> 
      <br> 
      <input type="submit" value="Upload" name="upload"> 
     </body> 
    </html> 

php文件

<?php 

     if(isset($_FILES["fileToUpload"])){ 
      $file = $_FILES['fileToUpload']; 

      $fileName = $_FILES["fileToUpload"]["name"]; 
      $fileTmpName = $_FILES["fileToUpload"]["tmp_name"]; 
      $fileSize = $_FILES["fileToUpload"]["size"]; 
      $fileError = $_FILES["fileToUpload"]["error"]; 
      $fileType = $_FILES["fileToUpload"]["type"]; 

      $fileExt = explode('.', $fileName); 
      $fileActualExt = strtolower(end($fileExt)); 

      $allowed = array('jpg', 'jpeg', 'png'); 

      if(in_array($fileActualExt, $allowed)){ 
       //Image code 
       if($fileError === 0){ 
        if($fileSize < 500000){ 

         $fileDestination = 'uploads/'.$fileName; 
         move_uploaded_file($fileTmpName, $fileDestination); 
         header("Location: server.php?uploadsuccess"); 
         //Display image here <---------- 

        }else{ 
         echo "Your file is too big!"; 
        } 
       }else{ 
        echo "There was an error while uploading your file!"; 
       } 
      }else{ 

       if(isset($_FILES["fileToUpload"])){ 
        $file = $_FILES["fileToUpload"]["name"]; 
        echo "File: ".$file; 
       } 
      } 

     } 

    ?> 

回答

1

首先你得将.html文件更改为.php并注意我已将文件重命名为index.php

<html> 
     <body> 
    <?php if(isset($_GET['filename'])){ ?> 
     <img src="<?php echo $_GET['filename']; ?>" /> 
<?php } ?> 
      <form method="post" enctype="multipart/form-data" action="server.php"> 
      <input type="file" name="fileToUpload" id="fileToUpload" size="35"> 
      <br> 

      <br> 
      <input type="submit" value="Upload" name="upload"> 
     </body> 
    </html> 

server.php

<?php 

     if(isset($_FILES["fileToUpload"])){ 
      $file = $_FILES['fileToUpload']; 

      $fileName = $_FILES["fileToUpload"]["name"]; 
      $fileTmpName = $_FILES["fileToUpload"]["tmp_name"]; 
      $fileSize = $_FILES["fileToUpload"]["size"]; 
      $fileError = $_FILES["fileToUpload"]["error"]; 
      $fileType = $_FILES["fileToUpload"]["type"]; 

      $fileExt = explode('.', $fileName); 
      $fileActualExt = strtolower(end($fileExt)); 

      $allowed = array('jpg', 'jpeg', 'png'); 

      if(in_array($fileActualExt, $allowed)){ 
       //Image code 
       if($fileError === 0){ 
        if($fileSize < 500000){ 

         $fileDestination = 'uploads/'.$fileName; 


         move_uploaded_file($fileTmpName, $fileDestination); 
        // header("Location: server.php?uploadsuccess"); 
         //Display image here <---------- 
header("Location:index.php?filename=$fileDestination"); 

        }else{ 
         echo "Your file is too big!"; 
        } 
       }else{ 
        echo "There was an error while uploading your file!"; 
       } 
      }else{ 

       if(isset($_FILES["fileToUpload"])){ 
        $file = $_FILES["fileToUpload"]["name"]; 
        echo "File: ".$file; 
       } 
      } 

     } 

    ?> 

使用PHP,但更好的方法是使用Ajax调用。只是谷歌它,你会得到男人的例子

0

为了能够显示图像,为此,我做了:

//Display image here <---------- 
echo "<img src='" . $fileLocation . "'>"; 

用包含文件位置的变量替换$ file_location