论坛首页 编程语言技术论坛

对php项目文件夹的构思

浏览 2081 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-09-20  
PHP
在考虑各种情况之后,有如下php项目文件夹构思

假设项目放在D盘

d:/projectname                  项目的根路径
d:/projectname/data             存放各种数据,但是都不需提交到服务器
d:/projectname/data/session     存放会话,可以修改php.ini的session.save_path = "d:\projectname\data\session"指向这里
d:/projectname/data/smarty_compile   存放smarty的编译文件
d:/projectname/data/logs             存放各种日志,总不希望本机的日志提交到服务器。
d:/projectname/data/upload           存放各种用户上传的图片,flash等

d:/projectname/code             存放所有应该提交到服务器的配置,文件,图片,程序,类库等,
d:/projectname/code/commandline 存放一些后台任务性质的php文件,系统定时调用的等
d:/projectname/code/config      全部文本配置,包括数据库连接配置文件等。其实本文中的所有路径也都应加到配置文件中
d:/projectname/code/doc         全部项目文档。
d:/projectname/code/include     全部类库,包括第三方和自己定义的类库,并把该路径添加到php.ini的include_path下。
d:/projectname/code/tpl         全部smarty模板。

d:/projectname/code/web         apache的文档根目录,把httpd.conf的DocumentRoot "d:/projectname/code/web"。
d:/projectname/code/web/images   网站图片文件夹,是美工做的
d:/projectname/code/web/index.php 例如:网站首页

最后的要点:给apache加url加转换,如果用户访问http://sitename/upload/1.jpg,则让apache到d:/projectname/data/session/upload目录下去找。
简单的做法是开启apache的alias支持,可以“用于在URL和文件系统路径之间实现映射,使不在DocumentRoot目录下的内容也能成为文档树的一部分”。
而alias,windows下是apache默认开启的,
确保开启后,只需在httpd.conf配置文件末尾加一行
Alias /upload d:/projectname/data/upload

如此,完美的分离了svn需要提交的代码和网站生成的无需提交的数据,结构清晰,美观大方,安全可靠,实在是居家旅行、大型网站的必备良药。
linux只要仿制一下即可。


论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics