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>";
}
}
?>
あなたはコメントしていますが、すべての小さな行をコメントしてはいけません。 "繰り返しURLで"これはコード自体から明らかです! –
GETメソッドは実際にはLONGデータ用ではありません。代わりにPOSTを使用してください。 – Cray
ありがとう!そして、私は私のコメントを制限します); – RuFFCuT