2

我的本地主机网站有问题。

所以我在这里解释我的问题,我在 localhost/sg/ 中有一个包含所有 php 文件的文件夹。例如,如果我想显示图片,我应该使用 /sg/upload/myfile.jpg。

但是,如果我将我的 php 文件上传到我的服务器上,那将无法正常工作,因为我的 www 文件夹中没有 /sg/ 文件夹。

所以我的问题是,有可能有一个脚本可以管理离线和在线?

如果您有疑问,请不要犹豫。

谢谢你。

4

5 回答 5

2

您可以使用配置文件来设置图像和其他文件的路径,具体取决于站点是本地站点还是生产站点。

于 2012-05-16T15:29:05.743 回答
2

设置相对于您的站点路径的上传路径,例如定义一个常量:

离线:

<?php
define ("SITEPATH","http://localhost/sg/upload/");
<?

在线的:

<?php
define ("SITEPATH","http://www.yoursite.com/upload/");
<?

然后使用这个常量(SITEPATH)来定位文件上传目的地

<?php
$destination = SITEPATH.$filename;
?>
于 2012-05-16T15:37:05.427 回答
0

我认为您的问题与您的 Web 服务器(Apache?)比 PHP 更相关。

我想您的问题的答案是您的(Apache?)文件中的正确配置,更具体地说是在生产服务器和开发服务器中使用 DocumentRoot 指令

于 2012-05-16T15:34:58.897 回答
0

您不能也将图像文件夹上传/sg/upload/到您的生产服务器吗?发布程序时,依赖项也需要发布。在您的情况下,该文件夹是您项目的依赖项。要么您需要使用 John 建议的配置文件来为生产环境指定不同的上传文件夹,要么您也需要简单地上传该文件夹。

于 2012-05-16T15:40:26.973 回答
0

通常只有 basedir 不同,但站点结构不同:

development: http://localhost/project-blue/

production:  http://project-blue.example.com/

在该目录中放置一个 PHP 文件,假设index.php

http://localhost/project-blue/index.php

如果它应该显示一个名为 的上传图片的 URL upload/picture.jpg,您只需要正确链接它:

<img src="upload/picture.jpg">

这将使浏览器获取此 URL:

 http://localhost/project-blue/upload/picture.jpg

这将适用于开发和生产:

 http://project-blue.example.com/upload/picture.jpg

所以实际上你在这里不需要关心太多。

于 2012-05-16T15:44:36.283 回答