PHP + CURL How to get file name

Posted by Gunjan on Stack Overflow See other posts from Stack Overflow or by Gunjan
Published on 2010-12-31T07:13:43Z Indexed on 2010/12/31 7:54 UTC
Read the original article Hit count: 243

Filed under:
|
|
|

I'm trying to download users profile picture from facebook in PHP using this function

public static function downloadFile($url, $options = array())
{
    if (!is_array($options))
        $options = array();
    $options = array_merge(array(
                                 'connectionTimeout' => 5, // seconds
                                 'timeout' => 10, // seconds
                                 'sslVerifyPeer' => false,
                                 'followLocation' => true, // if true, limit recursive redirection by
                                 'maxRedirs' => 2, // setting value for "maxRedirs"
                                ), $options);

    // create a temporary file (we are assuming that we can write to the system's temporary directory)
    $tempFileName = tempnam(sys_get_temp_dir(), '');
    $fh = fopen($tempFileName, 'w');

    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_FILE, $fh);
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $options['connectionTimeout']);
    curl_setopt($curl, CURLOPT_TIMEOUT, $options['timeout']);
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, $options['sslVerifyPeer']);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, $options['followLocation']);
    curl_setopt($curl, CURLOPT_MAXREDIRS, $options['maxRedirs']);
    curl_exec($curl);

    curl_close($curl);
    fclose($fh);

    return $tempFileName;
}

The problem is it saves the file in the /tmp directory with a random name and without the extension. How can I get the original name of the file (I'm more interested in the original extension)

The important things here are:

  • The url actually redirects to image so i cant get it from original url
  • the final url does not have the file name in headers

© Stack Overflow or respective owner

Related posts about php

Related posts about facebook