Bir URL unvanını almak için bir php komut dosyası ile ilgili bir sorun var. Ben elle çalıştırdığınızda çalışır, ama ben cron aracılığıyla çalıştırdığınızda.
Küçük bir betik bir URL unvanını almak için almak için googled:
function getTitle($url) {
$fh = fopen($url, "r");
$str = fread($fh, 7500);
fclose($fh);
$str2 = strtolower($str);
$start = strpos($str2, "<title>")+7;
$len = strpos($str2, "</title>") - $start;
if ($start == 7)
return $url;
return substr($str, $start, $len);
}
Ben o metinlerde URL'ler için bakmak nerede, altında çalıştırmak ve Titel ile url yazdırır:
$data = mysql_query('SELECT * FROM msgs ORDER BY id DESC LIMIT 100');
while ($rad = mysql_fetch_array($data)) {
preg_match_all($pattern, $rad["text"], $a);
$count = count($a[1]);
for ($row = 0; $row < $count ; $row++) {
echo 'URL:'.$a[1]["$row"].'<BR>';
echo 'TITLE:'.getTitle($a[1]["$row"]).'<BR><BR>';
}
}
Yukarıdaki kod url.php bulunur. Ben tarayıcı aracılığıyla elle çalıştırdığınızda iyi çalışır ve doğru başlığı ile url yazdırır. Ben zamanlanmış bir cron işi (her dakika) olarak çalıştırdığınızda getTitle her zaman gerçek olamayacak "$ == 7 başlayacak" yorumlamak gibi görünüyor, yani Ancak, url ve url yazıyor.
Bu zamanlama ile yapmak zorunda miyim? Fopen ve fread çok zaman alıyor mu? Eğer öyleyse, bunu nasıl düzeltebilirim.
Ben tipik bir cron sorun env olduğunu gördüm. değişkenler, ama bu nasıl etkilediğini görmüyorum?
Herhangi bir yardım veya fikir bekliyoruz!