当我尝试使用php mysql的file_put_contents创建html文件时,我遇到了一些麻烦.我的代码如下,在第一个回声线中出现了一些错误.需要一些帮助.谢谢.
我得到的错误是
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
Run Code Online (Sandbox Code Playgroud)
在这一行
$php = "echo '<div class=\"title\">'.htmlspecialchars($row['title'],UTF-8).'</div><br />';
Run Code Online (Sandbox Code Playgroud)
这是我的其余代码
header('Content-type:text/html; charset=utf-8');
set_time_limit(30);
require_once dirname(__FILE__) . '/conn.php';
mysql_select_db("ba_10978243",$handle_db5);
$result = @mysql_query("SELECT title,content,date FROM new_heelp Order By date DESC LIMIT 15");
while ($row = @mysql_fetch_array($result))
{
$php = "echo '<div class=\"title\">'.htmlspecialchars($row['title'],UTF-8).'</div><br />';//echo wrong in this line : Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
$data = date(\"w j n Y H:i:s\", $row['date']);
echo '<div class=\"date\">'.$data.'</div>';
if(!empty($row['content'])){
echo '<div class=\"content\">'.$row['content'].'</div>';
}";
}
file_put_contents("$article_20100421_132.html", $php);
?>
Run Code Online (Sandbox Code Playgroud)
这是一些相当丑陋的代码.您是否正在创建包含PHP语法的字符串,然后存储在HTML文件中?不会工作.
<?php
set_time_limit( 30 );
require_once( dirname( __FILE__ ) . '/conn.php' );
mysql_select_db( 'ba_10978243' , $handle_db5 );
$result = @mysql_query( 'SELECT `title , `content` , `date` FROM `new_heelp` ORDER BY `date` DESC LIMIT 15' );
if( !$result || mysql_num_rows( $result )>0 ){
echo 'ERROR: No SQL Rows Returned.';
}else{
$output = array();
$rowTpl = '<div class="title">%s</div><br/><div class="date">%s</div>%s';
while( $r = @mysql_fetch_array( $result ) ){
$output[] = sprintf( $rowTpl ,
htmlspecialchars( $row['title'] , ENT_COMPAT , 'UTF-8' ) ,
date( 'w j n Y H:i:s' , $row['date'] ) ,
( !empty( $row['content'] ) ? $row['content'] : '' ) );
}
file_put_contents( "{$article}_20100421_132.html" , implode( "\n" , $output ) ); # NOTE: $article is not declared anywhere above this line
?>
Run Code Online (Sandbox Code Playgroud)
代码中的问题摘要:
header()在不需要时设置Content-Type - 您创建的HTML文件不会继承此信息,如果此PHP脚本没有向浏览器输出任何内容,则它是多余的.while()循环中,您将替换$php每个循环的值,因此只有最后的值将在页面上进行.$php包含PHP代码,在HTML文件中,它不会执行任何操作.| 归档时间: |
|
| 查看次数: |
2180 次 |
| 最近记录: |