2017-03-23 5 views
-1
に関するプロトコル情報を持っていない場合のfile_get_contentsを使用する方法

私が使用していたコードは次のとおりです。私は、各URLがhttpまたはhttpsで始まるかどうかわからない私はウェブサイト

$url = "example.com"; 
$code = file_get_contents("http://www.".$url); 
if (!$code) { 
    $code = file_get_contents("https://www.".$url); 
} 

。データベースに1,000個のURLが保存されています。助言がありますか?

+1

データはURLではなくホスト名として解釈される可能性があるため、試行錯誤を使用する必要があります。 – arkascha

+1

'http'にフォールバックできる' https'リソースが見つからない場合、両方を試すことができます。またはその逆。 – Federkun

+0

これらのURLをループすることができます。もし条件が成立すれば、どちらが動作しているかを知ることができます。 –

答えて

0

This answerは多少意味があります。 URLが完全修飾されていないという点でデータベースが不完全であることを考えると、将来の使用のためにデータベースを更新するための短いルーチンを書く傾向があります。

<?php 
$url = 'example.com'; 
$variations[] = 'http://'.$url; 
$variations[] = 'https://'.$url; 
$variations[] = 'http://www.'.$url; 
$variations[] = 'https://www'.$url; 
foreach($variations as $v){ 
    // Check variation with function from answer linked above 
    if(urlOK($v)){ 
    // code to update database row 
    // or if you don't want to do that 
    $code = file_get_contents($v); 
    } 
} 
+0

ありがとうDaveP。 –

関連する問題