我将设计2个php页面,一个是必须由用户填写的个人详细信息表单,另一个是显示提交后以个人详细信息形式完成的所有个人详细信息。我的问题是提交的图像没有在第二页显示。我的代码出了什么问题?我的代码如下所示:
<!DOCTYPE html>
<head>
<title></title>
//for preview a image
<script type="text/javascript">
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#blah').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
</script>
</head>
<body>
<form name="rform" method="get" action="researchers.php">
<h4>Researchers Profile</h4>
<fieldset>
<legend>Personal Details</legend>
<form id="form1" method="get" action="researchers.php" enctype="multipart/form-data" id="pro_image">
<input type='file' onchange="readURL(this);" name="image" id="image"/>
<br><img id="blah" src="profile pic.jpg" alt="your image" width="160px" height="120px"/><br/>
</form>
<input type="submit" name="savebtn" value="Save"/>
</form>
研究人员.php页面
<?php
$name=$_FILES['image']['name'];
$tmp=$_FILES['image']['tmp_name'];
$new=time().$name;
$new="upload/".$new;
move_uploaded_file($tmp,$new);
if($_FILES['image']['error']==0)
{
?>
<br /><img src="<?php echo $new;?>" width="100" height="100"/>
<?php
}
?>
答案 0 :(得分:1)
尝试将<form>
方法改为post
,如同$_FILES
- http://www.php.net/manual/en/reserved.variables.files.php
描述
通过HTTP POST方法上传到当前脚本的关联项目数组。
您还需要添加enctype="multipart/form-data"
- http://www.w3.org/TR/html401/interact/forms.html#adef-enctype
<form name="rform" method="post" action="researchers.php" enctype="multipart/form-data">
另见http://www.php.net/manual/en/features.file-upload.post-method.php