我找到此代码来上传个人资料图像,
http://www.phpdevblog.eu/2011-04/combined/jquery-ajax-and-php-based-profile-image-upload-without-reloading-the-page.html#comments
一切都很好。 但是我想设置一个名称文件 = user_id
如何将输入隐藏user_id值传递给 PHP 上传文件进程?
var uploadURL = "processupload.php";
$(document).ready(function(){
$('a#uploadFile').file();
$('a#delete').click(function(){
$('input#profileImageFile').val("");
$('img#profileImage').attr("src","/images/styles/profileBlank.jpg");
$('div#messageBox').html("Image deleted !");
$('div#messageBox').attr("class","success");
$('a#delete').hide();
});
$('input#uploadFile').file().choose(function(e, input) {
input.upload(uploadURL, function(res) {
if (res=="invalid"){
$('div#messageBox').attr("class","error");
$('div#messageBox').html("Invalid extension !");
}else{
$('div#messageBox').attr("class","success");
$('div#messageBox').html("Imagen cargada !");
$('img#profileImage').attr("src","/images/avatars/"+res);
$('input#profileImageFile').val(res);
$('a#delete').show();
$(this).remove();
}
}, '');
});
});
.html
<div class="imageContainer">
<img alt="" src="/images/avatars/<?php echo $row_rs_user['user_image']; ?>" width="150" height="150" id="profileImage">
<a href="#" id="uploadFile" title="Upload"><img alt="" src="/images/styles/upload.jpg"></a>
<a href="#" id="delete" title="Delete" style="display:none;position:relative;z-index:999999;"><img alt="" src="/images/styles/delete.jpg"></a>
<input type="hidden" name="user_id" value="<?php echo $row_rs_user['user_id']; ?>">
<div id="messageBox"></div>
</div>
PHP 上传过程
if(isset($_POST))
{
.
.
.
.
我不熟悉您用来处理上传的插件,但是如果表单元素按预期命中 PHP,您只需调用
$fileId = _POST 美元['user_id'];
这将在 PHP 进程中设置一个等于隐藏值的变量。 请确保将其包含在 ISSET 条件中,以免导致任何错误。
只需通过上传URL传递信息:
input.upload(uploadURL + "?user_id=" + $("input[name=user_id]").val(), function(res) {});
确保保存用户 ID 的隐藏输入的名称为"user_id"。在 PHP 的服务器端,您可以使用 isset($_REQUEST['user_id']) 读取变量的值。