【发布时间】:2013-02-27 09:20:20
【问题描述】:
我正在创建一个社交网站。在用户注册期间有存储图像的规定。我想在用户上传图像时显示图像的预览,然后再提交表单。请帮助我。
这是我在注册部分的代码
<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 获取图片地址。但我想在第一页的表单提交之前显示预览。请帮助我。
【问题讨论】:
-
我不认为你可以这样做,在发布表单图像之前仍然在本地机器中。但您可以使用 AJAX 并显示图像。
-
@Prasanth Bendra 那么图像的预览如何在 facebook 中显示??
-
正如我所说,您可以使用 AJAX 来完成,当用户选择图像时,它将被上传到服务器,并显示在那里。用户稍后提交表单
-
@PrasanthBendra 你能建议我任何代码sn-ps
标签: php javascript image-upload