处理个人项目,与内联php提供的img src attrib有些混淆。我也想问一下,在线php通常看起来是不好的做法吗?
以下是代码片段
<li>
<?php
$username = $_SESSION["username"];
echo($username);
?>
</li>
<li><img
<?php
$xml = new DomDocument("1.0");
if(file_exists("data/posts/$username/$username.xml")){
$xml->load("data/posts/$username/$username.xml");
$postsArray = $xml->getElementsByTagName('post');
}else{
echo ("Cannot reach image store");
}
foreach($postsArray as $post){
$profPic = $post->getElementsByTagName("profpic")[0]->nodeValue;
if($profPic == 'true'){
$imgPath = $post->getElementsByTagName("path")[0]->nodeValue;
$imgPath = str_replace("C:","localhost",$imgPath);
$imgPath = str_replace("\\","/", $imgPath);
echo ("src=\"http://".$imgPath."\"");
}
}
?>
>
</li>
我遇到的问题是它抽出的字符串是
<li>
<img src="http://localhost/xampp/htdocs/hobnobv2/data/posts/liar/1.jpg" >
</li>
但无法加载图片。该图像存在于目录中。
C:\ XAMPP \ htdocs中\ hobnobv2 \数据\讯息\骗子
您可以给我任何指导吗?我知道str_replace是低效的,我应该在我的xml文件中保存“http://localhost/path/to/image.xml”字符串,但有没有理由不加载图像?
谢谢大家。我的心向你们所有人致敬。
答案 0 :(得分:0)
这里有一个答案,但它现在已经消失了。
问题是我的网址错误。
<div style="height: 30px; margin: 0; padding: 0">
<table id="tblHeader" class=""
style="background-color: #336666; color: white; border-collapse: collapse; height: 100%;">
<tr>
<td class="col-lg-4" style="text-align:left;width: 50px">
<span>ID</span>
</td>
<td class="col-lg-4" style="text-align:left;width: 150px">
<span>Employee</span>
</td>
</tr>
<tr>
<td>
<div style="height: 360px; overflow: auto;">
<asp:GridView ID="grdEmp" runat="server" AutoGenerateColumns="False"
OnRowCommand="grdEmp_RowCommand" ShowHeader="false"
GridLines="None" Font-Size="Small">
<Columns>
<asp:BoundField DataField="EmpID" ItemStyle-Width="50px">
</asp:BoundField>
</Columns>
<RowStyle BackColor="White" ForeColor="#333333" />
</asp:GridView>
</div>
</td>
<td>
<div style="height: 360px; overflow: auto;">
<asp:GridView ID="grdEmp" runat="server" AutoGenerateColumns="False"
OnRowCommand="grdEmp_RowCommand" ShowHeader="false"
GridLines="None" Font-Size="Small">
<Columns>
<asp:BoundField DataField="EmpName">
<ItemStyle CssClass="RowStyle150"></ItemStyle>
</asp:BoundField>
</Columns>
<RowStyle BackColor="White" ForeColor="#333333" />
</asp:GridView>
</div>
</td>
</tr>
</table>
</div>
而不是
protected void tv_SelectedNodeChanged(object sender, EventArgs e)
{
TreeView tv = (TreeView)sender;
tv.SelectedNodeStyle.ForeColor = System.Drawing.Color.MidnightBlue;
tv.SelectedNodeStyle.BackColor = System.Drawing.Color.PowderBlue;
tv.SelectedNodeStyle.Font.Bold = true;
}
感谢最初发布这个帖子的人,感到失去了时间。 希望这有助于某人。