CURL无法在php中发送GET请求

时间:2015-11-20 09:06:15

标签: php curl

我使用CURL将get请求发送到服务器,但它没有产生所需的输出。 在浏览器中加载时脚本工作正常。 它是将给定的PNG图像与GIF结合的脚本。

<?php
//generate GIF
$name = $_GET['name_of_final_gif'];
$images = $_GET['images'];
$images = json_decode($images, true);
//include GIF maker class based on GD library
include('GIFEncoder.class.php');

/******************************************************/

foreach($images as $image_link) {

    // Open the source image and add the text.
    $image = imagecreatefrompng($image_link);

    // Generate GIF from the $image
    // We want to put the binary GIF data into an array to be used later,
    //  so we use the output buffer.
    ob_start();
    imagegif($image);
    $frames[]=ob_get_contents();
    $framed[]=300; // Delay in the animation.
    ob_end_clean();

}


// Generate the animated gif and save it
$gif = new GIFEncoder($frames,$framed,0,2,0,0,0,'bin');
$fp = fopen("gifs/$name", 'w');
fwrite($fp, $gif->GetAnimation());
fclose($fp);
?>

更新: 下面是我的CURL代码,它位于另一台服务器上,并向此脚本发送GET请求,该脚本托管在另一台服务器上:

$images = $class_name->get_images_links(); // get image links from database in JSON FORMAT
$name = "something.gif"; //name for output GIF image
$url = "http://example.com/make_gif.php?images=$images&&name_of_final_gif=$name"; 

// Get cURL resource
$curl = curl_init();
// Set some options
curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => $url
));
// Send the request & save response to $resp
$resp = curl_exec($curl);
// Close request to clear up some resources
curl_close($curl);

2 个答案:

答案 0 :(得分:0)

试试这个

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://example.com/make_gif.php?images=$images&&name_of_final_gif=$name");
curl_exec($ch); 
curl_close($ch);  

答案 1 :(得分:0)

试试这个:

function curl($url) {
        // Assigning cURL options to an array
        $options = Array(
            CURLOPT_RETURNTRANSFER => TRUE,  // Setting cURL's option to return the webpage data
            CURLOPT_FOLLOWLOCATION => TRUE,  // Setting cURL to follow 'location' HTTP headers
            CURLOPT_AUTOREFERER => TRUE, // Automatically set the referer where following 'location' HTTP headers
            CURLOPT_TIMEOUT => 120,  // Setting the maximum amount of time for cURL to execute queries
            CURLOPT_MAXREDIRS => 10, // Setting the maximum number of redirections to follow
            CURLOPT_USERAGENT => "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1a2pre) Gecko/2008073000 Shredder/3.0a2pre ThunderBrowse/3.2.1.8",  // Setting the useragent
            CURLOPT_URL => $url, // Setting cURL's URL option with the $url variable passed into the function

        );

        $ch = curl_init();  // Initialising cURL



        curl_setopt_array($ch, $options);   // Setting cURL's options using the previously assigned array data in $options

        $data = curl_exec($ch); // Executing the cURL request and assigning the returned data to the $data variable

        curl_close($ch);    // Closing cURL

        return $data;   // Returning the data from the function 
    }

    $page = curl($link); 
相关问题