在表单提交之前查看图像的预览

时间:2013-02-27 09:20:20

标签: php javascript image-upload

我正在创建一个社交网站。在用户注册期间可以存储图像。我希望在用户上传图像之前显示图像的预览,在表单提交之前。请帮助我。

这是我在注册部分的代码

<form action="insert_scene.php" 
 method="post" id="sceneform" enctype="multipart/form-data">
<label for="image">Scene Flyer:</label>
<img src="" width="120" height="130" alt="Scene Pic" />
<a href="" onclick="return uploadimg()" > Upload</a></li>
 <input type="file" name="file" id="file" style="display:none;" />
 </form>

javascript内容

   function uploadimg()
{
    var uploader = document.getElementById('file');
    uploader.click();
    return false;
}

这是insert_scene.php中的代码段(实际上,以下代码段放在另一个包含在insert_scene.php中的文件中)

<?php 
ini_set('memory_limit','128M');
ini_set("post_max_size", "10M");
ini_set("upload_max_filesize", "10M");
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
if ($_FILES["file"]["error"] > 0)
{
  $fileN = '';
 echo 'File Size:' .($_FILES["file"]["size"] / 1024);
}
else
{

$maxImgSize=($_FILES["file"]["size"] / 1024);

if($maxImgSize>=5121 || $maxImgSize==0){

  $fileN = '';
}
else{

move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]);

  $fileN="upload/" . $_FILES["file"]["name"];

  while(file_exists($fileN)){
      $fileN="upload/" . md5($fileN).$_FILES["file"]["name"];
  }

  rename("upload/" . $_FILES["file"]["name"], $fileN);


      }
    } 
   ?>
   $scene_flyer = $fileN;

发布表单后,$scene_flyer获取图片地址。但我想在第一页的表单提交之前显示预览。请帮助我。

1 个答案:

答案 0 :(得分:0)

改进您的代码并使用jQuery uploadify。

http://www.uploadify.com/demos/

然后在OnUploadSuccess事件中编写一些简单的代码:

http://www.uploadify.com/documentation/uploadify/onuploadsuccess/