如何使用jquery回调函数将图像位置传递给php函数?

时间:2013-01-17 07:45:49

标签: jquery image post back avatar

<div class="hideAfterSuccess">
                    <label for="avatar">Upload an Avatar :</label>
                    <input type="file" name="avatar" id="avatar" />
                </div>

以下是必须将图像位置传递给另一个文件(parsePortal.php)中的php函数的jquery。能够传递文件中的其他类型的数据,但图像失败。我想,因为它发布了图像的位置字符串,我可以使用$ _FILES [$ _ POST ['image']] ['name']然后上传图像。我试过网,当然,没找到我需要的东西。

        $(function(){
           var imageLoc = $('avatar').val();
           var url = "parsePortal.php";
                $.post(url, {
                    status : "getimage",
                    image : "imageLoc"
                }, function(result){

                 });
            });

2 个答案:

答案 0 :(得分:0)

不幸的是,通过ajax将文件传递给php并不是那么简单。但是,有一个很好的库可以让你轻松完成这个任务:

http://malsup.com/jquery/form/

答案 1 :(得分:0)

我使用jquery表单插件成功完成了它。 这意味着它发送了我从中获取文件名的整个路径并将其打印出来。感谢VIC,如果没有这种帮助,我无法做到这一点。

这是javascript。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
<script src="http://malsup.github.com/jquery.form.js"></script> 

<script> 
        // prepare the form when the DOM is ready 
        $(document).ready(function() { 
            // bind form using ajaxForm 
            $('#htmlForm').ajaxForm({ 
                // target identifies the element(s) to update with the server response 
                target: '#htmlExampleTarget', 

                // success identifies the function to invoke when the server response 
                // has been received; here we apply a fade-in effect to the new content 
                success: function() { 
                    $('#htmlExampleTarget').fadeIn('slow'); 
                } 
            }); 
        });
</script> 

这是html

<form id="htmlForm" action="file.php" method="post"> 
Message: <input type="text" name="message" value="Hello HTML" /> <p></p>
Image : <input type="file" name="image" id="image" /><p></p>
<input type="submit" value="Echo as HTML" /> 

这里是php

$image =  $_FILES['image']['tmp_name'];
$name = $_FILES['image']['name'];
move_uploaded_file($image, "uploads/".$name);
echo '<div style="background-color:#ffa; padding:20px">' . $_POST['message'] .  '</div>'; 
echo '<img src="uploads/'.$name.'"/>';