2012-04-13 9 views
0

私はURLのリストからメタデータを取得するスクリプトを持っていますが、あまりにも多くを試そうとするとURLが長すぎて実行されないと言います。URLバーをアドレスバーに置くPHPスクリプトを停止しますか?

私の質問はどうすればこのことが起こらないようにすることができますか?

<?php 
ini_set('default_charset', 'UTF-8'); 
error_reporting(E_ALL); 
//ini_set("display_errors", 0); 
function parseUrl($url){ 
    //Trim whitespace of the url to ensure proper checking. 
    $url = trim($url); 
    //Check if a protocol is specified at the beginning of the url. If it's not, prepend 'http://'. 
    if (!preg_match("~^(?:f|ht)tps?://~i", $url)) { 
      $url = "http://" . $url; 
    } 
    //Check if '/' is present at the end of the url. If not, append '/'. 
    if (substr($url, -1)!=="/"){ 
      $url .= "/"; 
    } 
    //Return the processed url. 
    return $url; 
} 
//If the form was submitted 
if(isset($_GET['siteurl'])){ 
    //Put every new line as a new entry in the array 
    $urls = explode("\n",trim($_GET["siteurl"])); 
    //Iterate through urls 
    foreach ($urls as $url) { 
      //Parse the url to add 'http://' at the beginning or '/' at the end if not already there, to avoid errors with the get_meta_tags function 
      $url = parseUrl($url); 
      //Get the meta data for each url 
      $tags = get_meta_tags($url); 
      //Check to see if the description tag was present and adjust output accordingly 
      $tags = NULL; 
$tags = get_meta_tags($url); 
if($tags) 
echo "<tr><td>Description($url)</td><td>" .$tags['description']. "</td></tr>"; 
else 
echo "<tr><td>Description($url)</td><td>No Meta Description</td></tr>"; 
    } 
} 
?> 
+1

あなたはコメントしていますが、すべての小さな行をコメントしてはいけません。 "繰り返しURLで"これはコード自体から明らかです! –

+0

GETメソッドは実際にはLONG​​データ用ではありません。代わりにPOSTを使用してください。 – Cray

+0

ありがとう!そして、私は私のコメントを制限します); – RuFFCuT

答えて

5

次に、URLをPOSTします。 GETはlimitedです。

+0

ありがとう、完璧に働いた:) – RuFFCuT

関連する問題