封装 PHP file_get_contents(),设置超时时间

/**                                      
 * 封装file_get_contents(),设置超时时间 
 *                                       
 * @param string $url                    
 * @param int $timeout                   
 * @return string|void                   
 */                                      
function get_remote_file($url = '', $timeout = 3)                                
{                                                                                
    if (empty($url))                                                             
        return;                                                                  
                                                                                 
    // 解析协议                                                                  
    $protocol = parse_url($url)['scheme'];                                       
    $options = [                                                                 
        'http' => [                                                              
            'method'  => 'GET',                                                  
            'timeout' => $timeout,                                               
        ],                                                                       
        'https' => [                                                             
            'method'  => 'GET',                                                  
            'timeout' => $timeout,                                               
        ]                                                                        
    ];                                                                           
    // 必须是二维数组                                                            
    $option[$protocol] = $options[$protocol];                                    
    $result  = file_get_contents($url, false, stream_context_create($option));   
    return $result;                                                              
}                                                                                

你可能感兴趣的:(封装 PHP file_get_contents(),设置超时时间)