我有一个Web应用程序,其中复杂的权限确定用户是否可以访问数千个不同文件中的每一个.用户可以查看所有文件,但有一个指示器可以打开他们有权访问的文件.如果用户中的其他人可以访问该文件,或者他们与之合作的某人拥有该文件的共享访问权限,则该用户可以访问该文件.
现在,我有一个复杂的PHP函数,通过构建用户可以访问的文件数组(在组织或协作中)以及合并这些访问数组来生成大型PHP会话.当这些文件显示给用户时,PHP会检查此数组以查看它们是否具有访问权限,如果有,则会添加按钮以打开该文件.我这样做是因为运行查询以检查每个单独文件的访问权限,在显示长文件列表时最终会占用太长时间,并且PHP的in_array()速度要快得多.
问题是...
php会话已经变得如此之大以至于它似乎正在减慢简单网站功能的速度,我需要考虑一种新方法来实现这一目标.
我的问题是......
替换PHP会话以存储用户有权访问的数千个文件的文件权限和文件位置的最佳方法是什么,这样当显示文件列表时,PHP可以快速检索此信息,而无需运行查询对于每个单独的文件?
我正在建立一个摄影作品集.我有两个相邻的div列左侧浮动,每个列包含一长列图像,其大小为列宽度的100%.这使得一个很好的垂直方向的照片网格.但是,左列需要在右列开始加载之前完全加载,这可能需要很长时间.我希望从顶部同时加载两列,这样当用户加载页面时,列顶部的两个图像都是可见的.
我纠正这个涉及jQuery Lazyload.但是,它似乎不想正常工作.它不是在滚动页面时加载图像,而是立即加载整个左列,然后加载整个右列.我想解决这个问题,以便它首先加载每列顶部的前几个图像,然后在滚动时加载其他图像.
提前致谢!
Javascript:
$(document).ready(function () {
$(".leftcol img").lazyload({
failure_limit : 4,
effect : "fadeIn",
threshold : 10
});
$(".rightcol img").lazyload({
failure_limit : 4,
effect : "fadeIn",
threshold : 10
});
$(window).trigger('scroll');
});
Run Code Online (Sandbox Code Playgroud)
HTML:
<div class="leftcol col">
<div class='item'>
<a href='filename.jpg>
<img data-src='js/holder/holder.js/200x300' data-original='filename.jpg' alt='' />
</a>
</div>
<div class='item'>
<a href='filename.jpg>
<img data-src='js/holder/holder.js/200x300' data-original='filename.jpg' alt='' />
</a>
</div>
</div>
<div class="rightcol col">
<div class='item'>
<a href='filename.jpg>
<img data-src='js/holder/holder.js/200x300' data-original='filename.jpg' alt='' />
</a>
</div>
<div class='item'>
<a href='filename.jpg> …Run Code Online (Sandbox Code Playgroud) 我有一个多维PHP数组,我用它来生成分层UL树.但是,在显示UL树之前,我想通过'name'属性按字母顺序对数组中的每个级别进行排序.我想象一个递归检查每个级别的函数,按字母顺序组织它,然后移动到下一级别来排序该级别.但我不知道该怎么做.任何帮助,将不胜感激!
我的阵列:
Array (
[0] => Array (
[id] => 39348
[parent] => 0
[name] => Test
[children] => Array (
[0] => Array (
[id] => 41911
[parent] => 39348
[name] => Test2
[children] => Array (
[0] => Array (
[id] => 40929
[parent] => 41911
[name] => Test3
[children] => Array (
[0] => Array (
[id] => 40779
[parent] => 40929
[name] => C
)
[1] => Array (
[id] => 40780
[parent] => 40929
[name] …Run Code Online (Sandbox Code Playgroud)