Php 未显示图像的有效图像位置

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.

这是我第一次将我在php和mysql上的工作从localhost转移到一个名为1freehosting的免费web主机。我在显示配置文件图像方面遇到了问题。虽然它在localhost上工作,但由于某种原因,当通过我自己的域输入时,图像不会显示

为了检查位置,我单独回显了图像位置,并得到了图像的准确位置

//打印图像位置: /主页/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也看到了我更新的答案。最后的粗略代码应该可以帮助您了解需要更改的内容。