如何使用AJAX进行cURL php发出实时请求? [英] How to do cURL php using AJAX to make a live request?

查看:66
本文介绍了如何使用AJAX进行cURL php发出实时请求?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我当前正在使用此代码:

I am currently using this code:

    <form enctype="multipart/form-data" method="post" action="upload_img.php">
    Choose your file here:
    <input name="uploaded_file" type="file"/>
    <input type="submit" value="Upload It"/>
    </form>
    <?
    if( isset($_FILES['uploaded_file']) )
{
    $IMGUR_API_KEY = 'APIKEY';
    $filename = $_FILES['uploaded_file']['tmp_name'];
    $handle = fopen($filename, "r");
    $data = fread($handle, filesize($filename));

    //$data is file data
    $pvars   = array('image' => base64_encode($data), 'key' => $IMGUR_API_KEY);
    #$pvars   = array('key' => $IMGUR_API_KEY);
    $timeout = 30;
    $curl    = curl_init();

    curl_setopt($curl, CURLOPT_URL, 'http://api.imgur.com/2/upload.xml');
    #curl_setopt($curl, CURLOPT_URL, 'http://api.imgur.com/2/gallery.xml');
    curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
    $xml = curl_exec($curl);
    $xmlsimple = new SimpleXMLElement($xml);
    echo '<img height="180" src="';
    echo $xmlsimple->links->original;
    echo '">';

    curl_close ($curl);
    }
?>

这可以很好地工作,但是我需要将此作为单独的表单使用,以插入多个字段.最后,我要做的就是发出AJAX cURL请求以上传照片,然后将imgur.com网址获取为直接图像.我将如何通过AJAX将此表单提交为提交,以便我留在此页面上.任何帮助将不胜感激,它不必完全写成,但会产生想法.我不知道我要和这个沙发去哪.

Which works perfectly fine, but I need to use this as a form separate to insert multiple fields. In the end, all I need to do is make an AJAX cURL request to upload the photo then get the imgur.com url to the direct image. How would I go about making this form a submit that does this via AJAX so I can stay on this page... Any help would be appreciated, it doesn't have to be fully written, but a spark of an idea. I have no clue where I'm going with this sofar.

谢谢,HackyWackee

Thanks, HackyWackee

推荐答案

您可以尝试类似或类似的操作:

You could try something like or similar to this:

    <form enctype="multipart/form-data" method="post" action="upload.php" target="my_iframe">
    Choose your file here:
    <input name="uploaded_file" type="file"/>
    <input type="submit" value="Upload It"/>
    </form>
<!-- when the form is submitted, the server response will appear in this iframe -->

<script language="JavaScript">
<!--
function autoResize(id){
    var newheight;
    var newwidth;

    if(document.getElementById){
        newheight=document.getElementById(id).contentWindow.document .body.scrollHeight;
        newwidth=document.getElementById(id).contentWindow.document .body.scrollWidth;
    }

    document.getElementById(id).height= (newheight) + "px";
    document.getElementById(id).width= (newwidth) + "px";
}
//-->
</script>

<IFRAME name="my_iframe" SRC="upload.php" width="100%" height="200px" id="iframe1" marginheight="0" frameborder="0" onLoad="autoResize('iframe1');"></iframe>

然后将您的php放入"upload.php".

Then put your php into "upload.php".

这篇关于如何使用AJAX进行cURL php发出实时请求?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆