【问题标题】:Localhost subfolder PHP本地主机子文件夹 PHP
【发布时间】:2012-05-16 15:27:33
【问题描述】:

我的 localhost 网站有问题。

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

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

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

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

谢谢。

【问题讨论】:

  • 您的接受率为50%,请前往您的问题并接受一个合适的答案

标签: php directory localhost


【解决方案1】:

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

离线:

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

在线:

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

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

<?php
$destination = SITEPATH.$filename;
?>

【讨论】:

  • @Julien_he:还有__FILE__ and __DIR__ 不代表你做任何事情。您应该更喜欢约定而不是配置。
【解决方案2】:

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

【讨论】:

  • 你应该更喜欢约定而不是配置,因为你不需要配置它,站点结构本身does not differ
【解决方案3】:

我认为您的问题与您的网络服务器(Apache?)有关,而不是 PHP。

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

【讨论】:

    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

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

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

      在那个目录中放置一个 PHP 文件,比如说index.php:

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

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

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

      这将使浏览器获取此 URL:

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

      这将适用于开发和生产:

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

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

      【讨论】:

        猜你喜欢
        • 2012-10-18
        • 1970-01-01
        • 2015-06-05
        • 1970-01-01
        • 1970-01-01
        • 2011-06-02
        • 1970-01-01
        • 1970-01-01
        • 2023-03-07
        相关资源
        最近更新 更多