我的本地主机网站有问题。
所以我在这里解释我的问题,我在 localhost/sg/ 中有一个包含所有 php 文件的文件夹。例如,如果我想显示图片,我应该使用 /sg/upload/myfile.jpg。
但是,如果我将我的 php 文件上传到我的服务器上,那将无法正常工作,因为我的 www 文件夹中没有 /sg/ 文件夹。
所以我的问题是,有可能有一个脚本可以管理离线和在线?
如果您有疑问,请不要犹豫。
谢谢你。
您可以使用配置文件来设置图像和其他文件的路径,具体取决于站点是本地站点还是生产站点。
设置相对于您的站点路径的上传路径,例如定义一个常量:
离线:
<?php
define ("SITEPATH","http://localhost/sg/upload/");
<?
在线的:
<?php
define ("SITEPATH","http://www.yoursite.com/upload/");
<?
然后使用这个常量(SITEPATH)来定位文件上传目的地
<?php
$destination = SITEPATH.$filename;
?>
我认为您的问题与您的 Web 服务器(Apache?)比 PHP 更相关。
我想您的问题的答案是您的(Apache?)文件中的正确配置,更具体地说是在生产服务器和开发服务器中使用 DocumentRoot 指令
您不能也将图像文件夹上传/sg/upload/
到您的生产服务器吗?发布程序时,依赖项也需要发布。在您的情况下,该文件夹是您项目的依赖项。要么您需要使用 John 建议的配置文件来为生产环境指定不同的上传文件夹,要么您也需要简单地上传该文件夹。
通常只有 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
所以实际上你在这里不需要关心太多。