我使用CKEditor和KCFinder构建了一个CMS系统,通过textarea/php将信息存储到数据库中。到目前为止一切顺利!
问题来了,当我想要存储和显示链接到自己的图像。我存储图像的方式完全相同:有一个文本区,我通过KCFinder/CKEditor插入图像。将映像上传到服务器,并将路径存储在数据库中。后来,我尝试从数据库中获取该路径以显示图像(该部分也可以工作),并且因为我希望图像链接到自己,所以我尝试使用相同的方法在链接上插入url。问题吗?链接缺失
谁能指出我的错误和建议任何解决方案?我会非常感激!代码:
<?php
$sql = "SELECT * FROM php_maskiner ORDER BY timestamp DESC";
$result = mysql_query($sql) or print ('<div class="alert alert-standard fade in">
<a class="close" data-dismiss="alert" href="#">×</a>
<strong>Can't read the database!</strong>
</div>' . $sql . "<br />" . mysql_error());
while($row = mysql_fetch_array($result)) {
$title = stripslashes($row['title']);
$entry = stripslashes($row['entry']);
$images = html_entity_decode($row['images']);
$img_url = $row['images'];
$img_pack = '<div class="mask3 span3">
<a rel="prettyPhoto" href="' . $img_url . '">' . $images . '</a>
</div>';
?>
<article class="span12 post">
<?php echo $img_pack; ?>
<div class="inside">
<div class="span8 entry-content">
<div class="span12">
<h2><?php echo $title; ?></h2>
<p><?php echo $entry; ?></p>
</div>
</div>
</div>
</article>
<?php
}
?>
更新:
我认为这可能是CKEditor造成的问题。在数据库中,映像路径存储为:。这是我对输出的理解。如何只输出"/nysida/admin/kcfinder/upload/images/1307594_10243178.jpg"?
您的第一个错误仍然是使用mysql_
扩展来访问数据库。您必须使用PDO(如果可用):
示例(mysql):
try {
$DBH = new PDO('mysql:host=localhost;dbname=yourdb;charset=utf8', 'user', 'password');
$DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$STH = $DBH->prepare('SELECT * FROM php_maskiner ORDER BY timestamp DESC');
$STH->execute();
$STH->setFetchMode(PDO::FETCH_OBJ);
while($row = $STH->fetch()) {
$title = $row->title;
$entry = $row->entry;
$images = $row->images;
$img_url = $row->images;
$img_pack =
'<div class="mask3 span3">
<a rel="prettyPhoto" href="'.$img_url.'"><img src="'.$images.'"></a>
</div>';
}
$DBH = null;
} catch (PDOException $e) {
echo '<div class="alert alert-standard fade in">
<a class="close" data-dismiss="alert" href="#">×</a>
<strong>Can''t read the database!</strong>
</div><br />'.$e;
}
和后面的代码:
<?php echo
'<article class="span12 post">
'.$img_pack.'
<div class="inside">
<div class="span8 entry-content">
<div class="span12">
<h2>'.$title.'</h2>
<p>'.$entry.'</p>
</div>
</div>
</div>
</article>';
?>
关于原来的问题:确保$img_url
不是null
。