[英]How to do cURL php using AJAX to make a live request?
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);
}
?>
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. 最后,我要做的就是发出AJAX cURL请求以上传照片,然后将imgur.com网址获取为直接图像。 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. 我将如何通过AJAX将此表单提交为提交,以便我留在此页面上。任何帮助将不胜感激,它不必完全写成,但会产生想法。 I have no clue where I'm going with this sofar. 我不知道我要和这个沙发去哪里。
Thanks, HackyWackee 谢谢,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>
Then put your php into "upload.php". 然后将您的php放入“ upload.php”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.