对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只要仿制一下即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值