Ну, это то, что я делаю сейчас, основываясь на предложении rdlowrey, и я думаю, что это тоже правильно.
public function url_db_html($sourceLink = NULL, $source) {
$source = mysql_real_escape_string($source);
$query = "INSERT INTO html (id, sourceLink, sourceCode)
VALUES (NULL,('$sourceLink') , ('$source'))";
try {
if(mysql_query($query, $this->connection)==FALSE) {
$msg = mysql_errno($this->connection) . ": " . mysql_error($this->connection);
throw new DbException($msg);
}
} catch (DbException $e) {
echo "<br><br>Catched!!!<br><br>";
if(strstr($e->getMessage(), 'MySQL server has gone away')) {
$this->connection = mysql_connect("localhost", "root", "");
mysql_select_db("crawler1", $this->connection);
}
}
}
Так что, как только запрос не будет выполнен, скрипт пропустит его, но убедится, чтосоединение восстанавливается.
Однако мой веб-сканер аварийно завершает работу при обнаружении таких файлов, как .jpg, .bmp, .pdf и т. д.Есть ли способ пропустить те URL, содержащие эти расширения.Я использую preg_match и дал pdf и doc для соответствия.Тем не менее, я хочу, чтобы функция пропускала все ссылки, содержащие расширения, такие как mp3, pdf и т. Д. Возможно ли это?