如何获取已存储在服务器上的图像的URL

时间:2012-05-02 12:45:38

标签: php html url image-uploading

这一定很容易,但我不知道如何从服务器获取图像的URL。

假设我有一个名为www.example.com的域名,图片已存储在我的

htdocs>www>resources>userid>images>image.jpg

所以,我想上传一张图片并通过php脚本保存到我的图片文件夹中,然后将该图片的网址返回给浏览器,

www.example.com/.../.../images/image.jpg

是否有任何php函数来获取文件的URL?

编辑:

在看完答案之后,我想我应该更清楚自己。我真的很抱歉误会,

我想要的帮助是:如果域名不是静态的,我的意思是你可以下载并将我的图片上传器插件附加到你的网站,但现在它应该动态获取域名和http你的形象的路径。

4 个答案:

答案 0 :(得分:5)

由于我没有你的插件,我不知道你的代码流程。我的猜想如下,希望您可以根据您的代码进行修改。

假设我将您的插件下载到我的网站并使用它上传图像。您可以像这样获得图像路径:

<?php
$upload_path = 'PATH_WHERE_IMAGE_IS_UPLOADED';
$image_name = 'NAME_OF_THE_UPLOADED_IMAGE';

$relative_path = $upload_path . DS . $image_name;

$path = str_replace( $_SERVER['DOCUMENT_ROOT'], $_SERVER['SERVER_NAME']
                                                            , $relative_path );

$path = 'http://' . $path; // this is where image is uploaded
?>

注意:这假设上传目录位于webroot中。

希望这会奏效。

答案 1 :(得分:0)

试试这个

$image='name of your image uploaded';
$imageurl='http://www.example.com/images'.$image;
echo '<input type=text name="image" value="'.$imageurl.'" disabled />;

答案 2 :(得分:0)

<强> Editted

如果您有例如:

$domain = $_SERVER['SERVER_NAME'];
$uploadPath = "/htdocs/www/resources/userid/images/image.jpg"

// replace "/htdocs/www", with an empty string
$subdir = str_replace("/htdocs/www", "", $uploadPath);

$url = $domain.$subdir;

答案 3 :(得分:0)

您可以查看PHP函数move_uploaded_file()的手册页。如果我理解你的问题,解决方案就在那里。