![](/img/trans.png)
[英]How to generate basic HTML pages with static content using PHP and mysql?
[英]How to generate in PHP a series of HTML pages based on CSV data?
一个问题:需要在 PHP 脚本中生成一系列 HTML 页面,其中包含从 CSV 中的每一行数据输出的数据(TITLE、DESCRIPTION、H1、IMG、Text、A HREF = "URL")。
$image_number
$image_name
$title
$description
$image_source
$keywords
$url
$page_name
也就是说,实际上CSV中的每一行,在PHP>中处理时,根据给定的单个模板,即每个单独的物理页面(服务器上指定地址处的$页面名称)将页面交给gallery> HTML或PHP目录) 用这个字符串的 CSV 文件中的数据每个变量的值: $title, $ description, $h1, $image_source, $keywords, $image(number), $url = ...
这对于在 Google 图片中建立索引是必要的,但与 MySQL 通信来处理查询还没有意义。
CSV 目录: https : //drive.google.com/file/d/1F_zWVaFDtjp82NDMZdvhWHyB1GYq4BmG/view?usp=sharing
用于处理 CSV 和卸载模板页面的示例 PHP 代码:(* 据我所知 - 并写道,可能存在错误)。
<?php
function CSVtoHTML {
$row = 1;
if (($handle = fopen ("catalog.csv", "r"))! == FALSE) {
while (($data = fgetcsv ($handle, 30, ","))! == FALSE) {
for each ($row[i]) {
$column[1] = $image_number;
$column[2] = $image_name;
$column[3] = $title;
$column[4] = $description;
$column[5] = $image_source;
$column[6] = $url;
$column[7] = $page_name;
$content = '<! doctype html>
<html lang="en">
<head>
<meta charset = "UTF-8">
<title>'.$title.'</title>
<meta description = "'.$ description.'" />
</head>
<body>
<div class="content">
<h1> '.$h1.'</h1>
<img src = "'.$image_source.'" alt = "">
<h2> '.$image_name.' </h2>
<p> Keywords: '.$keywords.' </p>
<p> <a href="/register?value='.$image_number.'"> Buy now </a> </p>
</div>
</body>
</html> ';
/ * How to write data in HTML with UTF-8 encoding to a folder on the server with a given name? * /
$htmldata = file_get_contents ($content);
$htmldata = mb_convert_encoding ($htmldata, 'UTF-8');
file_put_contents ('graphics/'.$page_name.'.html', $htmldata);
}
fclose ($handle);
}
return $data;
echo "Catalog generated now"
}
else {
echo "Catalog in CSV is empty or broken."
}
}
?>
CSV 中的每一行,在 PHP 中处理时,根据给定的单个模板将页面输出到 HTML 目录中的图形,即每个单独的物理页面(服务器上指定地址的名称 $ page_name)以及来自 CSV 文件的数据给定字符串,每个变量的值:$title, $description, $h1, $image_source, $keywords, $image (number), $url = ...
这对于在 Google 图片中建立索引是必要的,但与 MySQL 通信来处理查询还没有意义。
你最好制作一些动态的东西而不是创建 .html 文件而是回答。
第一行是标题,将其存储在一个变量中,然后将它与array_combine与行一起使用以创建关联数组,尽管您只能通过索引访问。
<?php
function CSVtoHTML() {
$row = 0;
$header = [];
if (($handle = fopen("catalog.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
// first line is header, grab it then continue
if ( $row === 0) {
$header = $data;
$row++;
continue;
}
// make associative array from header and data
$data = array_combine($header, $data);
// make document (you need to work on this, but your see var is accessed by header name)
$content = '<!doctype html>
<html lang="en">
<head>
<meta charset = "UTF-8">
<title>'.$data['Title'].'</title>
<meta description = "'.$data['Description'].'" />
</head>
<body>
<div class="content">
<h1> '.$data['Title'].'</h1>
<img src="'.$data['Image Source'].'" alt>
<h2> '.$data['Image Name'].' </h2>
<p> Keywords: '.$data['Keywords'].' </p>
<p> <a href="/register?value='.$data['Image Number'].'"> Buy now </a> </p>
</div>
</body>
</html> ';
// make the file
file_put_contents('./graphics/'.$data['Page Name'], $content);
$row++;
}
fclose($handle);
}
}
// and don't forget to call it
CSVtoHTML();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.