2013-05-28 58 views
0

我想了解PHP中的curl/fopen。以下功能正常工作,但我希望在某些时候可以看到fwrite。为什么此代码在没有fwrite语句的情况下工作?

function cURLdownload($url, $file) 
{ 
    if(!cURLcheckBasicFunctions()) return "UNAVAILABLE: cURL Basic Functions"; 
    $ch = curl_init(); 
    if($ch) 
    { 
    $fp = fopen($file, "w"); 
    if($fp) 
    { 
     if(!curl_setopt($ch, CURLOPT_URL, $url)) 
     { 
     fclose($fp); // to match fopen() 
     curl_close($ch); // to match curl_init() 
     return "FAIL: curl_setopt(CURLOPT_URL)"; 
     } 
     if(!curl_setopt($ch, CURLOPT_FILE, $fp)) return "FAIL: curl_setopt(CURLOPT_FILE)"; 
     if(!curl_setopt($ch, CURLOPT_HEADER, 0)) return "FAIL: curl_setopt(CURLOPT_HEADER)"; 
     if(!curl_exec($ch)) return "FAIL: curl_exec()"; 
     curl_close($ch); 
     fclose($fp); 
     return "SUCCESS: $file [$url]"; 
    } 
    else return "FAIL: fopen()"; 
    } 
    else return "FAIL: curl_init()"; 
} 

回答

0

if(!curl_setopt($ch, CURLOPT_FILE, $fp)) return "FAIL: curl_setopt(CURLOPT_FILE)"; 告诉库将输出写入到文件中。 所以当你使用curl_exec()时,立即写入文件。

0

你爱它!当您已经呼叫curl_setopt($ch, CURLOPT_FILE, $fp)

查看此post了解更多信息,则无需直接拨打电话fwrite()

相关问题