Php 未显示图像的有效图像位置
这是我第一次将我在php和mysql上的工作从localhost转移到一个名为1freehosting的免费web主机。我在显示配置文件图像方面遇到了问题。虽然它在localhost上工作,但由于某种原因,当通过我自己的域输入时,图像不会显示 为了检查位置,我单独回显了图像位置,并得到了图像的准确位置Php 未显示图像的有效图像位置,php,html,mysql,image,Php,Html,Mysql,Image,这是我第一次将我在php和mysql上的工作从localhost转移到一个名为1freehosting的免费web主机。我在显示配置文件图像方面遇到了问题。虽然它在localhost上工作,但由于某种原因,当通过我自己的域输入时,图像不会显示 为了检查位置,我单独回显了图像位置,并得到了图像的准确位置 //打印图像位置: /主页/u377815502/public_html/main/practice/users/1702f756/profile 图像/P_20151210_191940_BF.
//打印图像位置:
/主页/u377815502/public_html/main/practice/users/1702f756/profile
图像/P_20151210_191940_BF.jpg这是我的图像位置
但是图像没有显示在我的图像标签中
<img style='width:200px;height=200px;' src='<?php echo $data->imagelocation; ?>' title='<?php echo $loggerData->username; ?>'>
imagelocation;?>'标题=“”>
原因可能是什么?我怎样才能解决这个问题?谢谢:)发生这种情况是因为您的映像路径
/home/u377815502/…
是服务器端路径。把它放在网络浏览器的地址栏里,它就不会工作了
您需要回显一个http://...
浏览器可以使用的URL
从路径来看,它可能需要类似于:
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 ?>'/>
'/>
我认为您的“localhost”(您可以在apache config上配置此路径)在public_html中启动,因此请尝试此方法
<img style='width:200px;height=200px;' src='localhost/main/practice/users/1702f756/profile image/P_20151210_191940_BF.jpg' >
试试这段代码。这是有效的
<?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 ?>'/>
'/>
请注意,这将仅在您的web主机上加载图像。打印的img元素是什么样子的?这是一个小图标,当图像未正确显示时,如果您查看源代码,通常会看到。我认为您没有完成注释,这是因为
$data->imagelocation
仍然以/home/u377/…
开头。您需要查看您的源代码(在浏览器中生成的HTML代码),您将看到URL不起作用的原因。@AL zami如果您在自己的本地计算机上运行此程序,语法为http://localhost/folder/file.php
。我怀疑这里的$data
是“localhost”还是“example.com”。您需要附加到它。仍然不清楚。。。。我省略了一个反斜杠,并尝试了这个……类似的结果@AL-zami,这绝对行不通。在PHP中执行此操作之前,可以在浏览器中使用URL吗?首先,您可以在浏览器中手动加载配置文件图像。然后看看这个URL,它会帮助你理解这里需要发生什么。@AL zami也看到了我更新的答案。最后的粗略代码应该可以帮助您了解需要更改的内容。