Изображение не работает. Как отобразить изображение, отправленное с помощью формы, которая работает со всеми браузерами - PullRequest
0 голосов
/ 17 ноября 2011

Я хочу отобразить изображение, отправленное моим «preview16.php» в файле «preview15.php». Я использую кодировку base64, но она не работает в IE 7. Я хочу это в теге изображения. И я не хочу хранить загруженное изображение в любом каталоге. мой превью16.php

<head>
</head>
<body>

    <form method="post" id="target"  enctype="multipart/form-data"    action="preview15.php">
  <input type="file" name="user_image" id="user_image"  >
            <input type="submit" name="save"  />


            </form>
          </body>

          </html>

И мой файл preview15.php выглядит так,

    <?php
    if(isset($_FILES['user_image'])){
    $file_name = $_FILES['user_image']['name'];
    $file_tmp = $_FILES['user_image']['tmp_name'];
    echo '<img src="data:image/jpg;base64,'.$img_str.'"   id="watermarked"/>';

   $img_src = $file_tmp;
   $imgbinary = fread(fopen($img_src, "r"), filesize($img_src));
   $img_str = base64_encode($imgbinary) ;
    echo '<img src="data:image/jpg;base64,'.$img_str.'"   id="watermarked"/>';


      } 

?>

1 Ответ

0 голосов
/ 17 ноября 2011

в HTML-части я бы вставил часть изображения, например:

<img src="preview15.php">

и в части php я просто вывел бы двоичный файл как это:

if(isset($_FILES['user_image'])){
$file_tmp = $_FILES['user_image']['tmp_name'];
header('Content-Type: image/jpeg');
echo $file_tmp;
}
...