Здравствуйте подскажите как вывести информацию, шото никак не доходит как есть файл dat и внем скажем есть запись одна только cry.jpg<|>информация<|>информация2
$page_descr = 'информация ';
$page_keyws = 'информация ';
$page_img = 'cry.jpg';
нужно чтоб вывелось на странице в метатегах
require ('data/page_about_settings.php');
function page_about_details($about_sym_link)
{
$url = $about_sym_link . "/data/page_about_details.dat";
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //если выпадает ошибка на эту строку - попробуйте закомментировать её
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$data = curl_exec($ch);
//$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
// разбиваем по строкам
$res = explode("\n", $data);
foreach($res as $rows) {
$row = explode("<|>", $rows);
if (!strripos($rows, "<|>")) continue; //Но вот так наверно лучше будет.
$page_img = $row[0]; //НЕ выводится в наружу
$page_descr = $row[1]; //НЕ выводится в наружу
$page_keyws = $row[2]; //НЕ выводится в наружу
}
return $data;
//return ($httpcode >= 200 && $httpcode < 300) ? $print : false;
}
echo page_about_details($about_sym_link);
var_dump(page_about_details($about_sym_link));
Вы никак не возвращаете нужные значения из функции и в цикле foreach при каждом проходе перезаписываете переменные $page_img, $page_descr, $page_keyws.
Нужно поменять:
foreach($res as $rows) {
$row = explode("<|>", $rows);
if (!strripos($rows, "<|>")) continue; //Но вот так наверно лучше будет.
$img .= $row[0]; //выводится
$descr .= $row[1];//выводится
$keyws .= $row[2];//выводится
var_dump($img);//выводится
$page_img = $row[0]; //НЕ выводится в наружу
$page_descr = $row[1]; //НЕ выводится в наружу
$page_keyws = $row[2]; //НЕ выводится в наружу
}
return false;
На
$page = [];
foreach($res as $row) {
$row = explode("<|>", $rows);
if (!strripos($rows, "<|>")) continue; //Но вот так наверно лучше будет.
$img .= $row[0]; //выводится
$descr .= $row[1];//выводится
$keyws .= $row[2];//выводится
var_dump($img);//выводится
$page[] = [
'page_img' => $row[0],
'page_descr' => $row[1],
'page_keyws' => $row[2]
];
}
return $page;
Результатом работы функции будет возвращение массива $page с нужными значениями.
Пример вызова функции:
$page = page_about_details($about_sym_link); // $about_sym_link - в переменной нужная ссылка
var_dump($page);
И не понятен смысл переменной $img, $descr, $keyws в цикле foreach.
Вывод meta, пример:
<meta name="description" content="<?=$page[0]['page_descr'];?>" />
UPD
foreach($res as $row) {
$row = explode("<|>", $rows);
if (!strripos($rows, "<|>")) continue; //Но вот так наверно лучше будет.
$img .= $row[0]; //выводится
$descr .= $row[1];//выводится
$keyws .= $row[2];//выводится
var_dump($img);//выводится
$page_img[] = $row[0];
$page_descr[] = $row[1];
$page_keyws[] = $row[2];
}
return false;
Заменить:
function page_about_details($about_sym_link)
на:
function page_about_details($about_sym_link, &$page_img, &$page_descr, &$page_keyws)
Пример вызова функции:
$page_img = [];
$page_descr = [];
$page_keyws = [];
$page = page_about_details($about_sym_link, $page_img, $page_descr, $page_keyws); // $about_sym_link - в переменной нужная ссылка
var_dump($page_img, $page_descr, $page_keyws);
PHP Функции
UPD2
В html делаете по примеру:
<meta name="description" content="<?=implode(',', $page_descr);?>" />
UPD3
Весь Ваш код с правками
require ('data/page_about_settings.php');
function page_about_details($about_sym_link){
$url = $about_sym_link . "/data/page_about_details.dat";
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //если выпадает ошибка на эту строку - попробуйте закомментировать её
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$data = curl_exec($ch);
//$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
// разбиваем по строкам
$res = explode("\n", $data);
$page = [];
foreach($res as $row) {
$row = explode("<|>", $row);
$page[] = [
'page_img' => $row[0],
'page_descr' => $row[1],
'page_keyws' => $row[2]
];
}
return $page;
}
$page = page_about_details($about_sym_link); // $about_sym_link - в переменной нужная ссылка
var_dump($page);
/*
array(1) {
[0]=>
array(3) {
[page_descr]=>
string() "информация",
[page_keyws]=>
string() "информация",
[page_img]=>
string() "cry.jpg"
}
}
*/
В html, прописываем meta:
<meta name="description" content="<?=$page[0]['page_descr'];?>" />
<meta name="keywords" content="<?=$page[0]['page_keyws'];?>" />
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости