CodeIgniter读取不存在的文件

时间:2017-01-21 21:35:21

标签: php codeigniter

目录看起来像

 <?php
 $omwisselen = array("Peter ","is ","de ","broer ","van ","Hans ");

 for ($i=0; $i<count($omwisselen); $i++) {
 echo $omwisselen[$i];
 }
 ?>

我的C:\wamp64\www\jml_test +application +css -bootstrap.css -main.css -project_page.css -neat.css +js +photos +etc 通过head.php将索引定向到css。这会在初始上传时生成带有CSS的页面。

我想更改样式。当然,我去<link href='css/main.css' rel='stylesheet'>进行编辑。保存后的编辑不会生效。我发现更改文件名,更改目录,甚至删除jml_test/css/main.css文件都不做任何事情 - 初始样式仍然存在。重新启动服务器也没有任何作用。

然而,我发现如果我创建一个新文件并将其指向那里(例如,将所需的修改保存为main.css并将nerd.css放入其中头部,读取更新的文件。

在头部使用<link href='css/nerd.css' rel='stylesheet'>返回C:\ wamp64 \ www \ jml_test,这是上述目录。从realpath(NULL);标记开始,目标应位于C:/wamp64/www/jml_test/css/main.css。

我的问题是,在查看<link>时头部实际阅读的是什么?对于我来说,能够删除目标文件并让它仍然被读取的东西必定是不对的。

2 个答案:

答案 0 :(得分:1)

即使刷新页面,您的浏览器也可能正在使用CSS文件的缓存副本。

尝试清除缓存,然后重新加载页面。

答案 1 :(得分:0)

这是一个缓存问题

如果您经常使用原始文件名(css,html,js,jpeg,gif,png等)更新页面,您只是不想打扰访问者(或您自己)按{{ 1}}或F5可以克服您身边的缓存问题。

注意:Ajax内容更改不计入文件更新,因为原始文件结构保持相同。

所以有一些解决方案,取决于您的需求:

<强> 1。根本没有缓存

为了避免在生产环境中进行缓存(如果您的服务器可以公开访问),请设置标头的缓存控制:(see this thread

设置标题如:

Ctrl+F5

<强> 2。我需要缓存以获得更好的网站性能

如果您想确保向访问者显示任何更新的文件(在一段时间后),您可以使用.htaccess mod_expires.c setting

进行管理
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0

第3。我正处于本地主机开发环境

为避免在开发服务器(您的本地主机服务器,文件不断更新)上进行缓存,您可以通过将浏览器的功能设置为无缓存来否决所有缓存

e.g。火狐: 一旦您选择“# BEGIN EXPIRES <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 10 days" ExpiresByType text/css "access plus 1 week" ExpiresByType text/plain "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType application/x-javascript "access plus 1 month" ExpiresByType application/javascript "access plus 1 week" ExpiresByType application/x-icon "access plus 1 year" </IfModule> # END EXPIRES

,只要您打开浏览器的工具箱/ Web控制台(F12),就会启用此选项。