我第一次将php和mysql的工作从localhost转移到一个名为1freehosting的免费网络主机。我在显示配置文件图像方面遇到了问题。虽然它适用于localhost但是由于某种原因图像不是通过我自己的域名输入时显示。
要检查位置,我单独回显图像位置,我得到图像的确切位置
<?php echo 'image location : '.$data->imagelocation; ?>
//打印图片位置: /家庭/ u377815502 /的public_html /主/常规/用户/ 1702f756 /型材 image / P_20151210_191940_BF.jpg这是我的图片位置
但图片未显示在我的图片标记内
<img style='width:200px;height=200px;' src='<?php echo $data->imagelocation; ?>' title='<?php echo $loggerData->username; ?>'>
可能是什么原因?我怎么能解决这个问题?谢谢:))
答案 0 :(得分:3)
这种情况正在发生,因为您的图片路径/home/u377815502/...
是服务器端路径。将它放在网络浏览器的地址栏中,它将无法正常工作。
您需要回显浏览器可以使用的http://...
网址。
从路径上看,它可能需要像:
http://[your-app-hostname]/main/practice/users/1702f756/profile image/P_20151210_191940_BF.jpg
或者您可以将其设为相对URI。以下是一些可能有用的粗略代码:
<?php
// This appears to be your www root. Change it if needed
$wwwRoot = "/home/u377815502/public_html";
// This strips out the server-side www root from your image path, leaving a relative path
$imageUri = str_replace($wwwRoot, "", $data->imagelocation);
?>
<img src='<?php echo $imageUri ?>'/>
答案 1 :(得分:0)
我认为您的“ localhost ”(您可以在apache配置中配置此路径..)开始 public_html ,所以请尝试此
<img style='width:200px;height=200px;' src='localhost/main/practice/users/1702f756/profile image/P_20151210_191940_BF.jpg' >
答案 2 :(得分:0)
试试这段代码。这很有效。
<?php
// This appears to be your www root. Change it if needed
$wwwRoot = "/home/u377815502/public_html/";
// This replaces your local system path to your absolute domain path
$imageUri = str_replace($wwwRoot, "http://[YOURDOMAIN.COM]/", $data->imagelocation);
?>
<img src='http://<?php echo $imageUri ?>'/>
请注意,这只会在您的网络主机上加载图片。