0

我找到了这个代码来上传个人资料图片,

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))
{
.
.
.
.
4

2 回答 2

0

只需通过uploadURL传递信息:

input.upload(uploadURL + "?user_id=" + $("input[name=user_id]").val(), function(res) {});

确保保存用户 ID 的隐藏输入的名称是“user_id”。在 PHP 中的服务器端,您可以使用 isset($_REQUEST['user_id']) 读取变量的值。

于 2013-02-07T05:57:57.920 回答
0

我不熟悉您用来处理上传的插件,但如果表单元素按应有的方式命中 PHP,您只需调用

$fileId = $_POST['user_id'];

这将在您的 PHP 进程中设置一个等于隐藏值的变量。确保将其包含在 ISSET 条件中,以免导致任何错误。

于 2013-01-29T20:36:39.890 回答