php文件系统问题
有的时候我们有这样一种需求,大多数都是通过幻灯片查看图片,主要是js调用,很多的图片文件路径自然也是单放在一个js文件中,在后台上传文件的时候,直接将文件的路径写入到js文件中.
如:
JScript code
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->imgs1 = new Array('/images/1.jpg','/images/2.jpg');
Nach dem Login kopieren
上文中的imgs1,其中的1代表的是图片分类的id.
/images/2.jpg代表是上传的文件名.每次上传一个,后面就会增加一个,如:/images/3.jpg等等
当上传另外图片分类,如:
JScript code
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->imgs2= new Array('/images/1.jpg');
Nach dem Login kopieren
,上传这个分类的时候,也会自动在数组中增加.
在文件中需保证数组赋的变量不能重复.当添加另外图片分类的时候,一直递增下去,如:
JScript code
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->imgs3=new array('images/1.jpg');
Nach dem Login kopieren
等.
------解决方案--------------------不管是写入文件数组还是从数据库取出的数组,修改功能查询的就是以前添加的数据肯定是存在的否则也修改不了,在添加前查询一下数组的变量是否存在验证一下,修改已经查询到你以前添加或者修改过的图片路径,比如a,b提交时把你新传的c路径加上就变成a,b,c
------解决方案--------------------
你这样做肯定是不妥当的
虽然可以通过字符串替换来达到目的,但因要回写整个文件。出错的几率增大
其实你只需在文件最后附加就可以了
比如最初的文件为
img1 = new Array('1.jpg');
以后每次附加
img1.push('2.jpg');
img1.push('3.jpg');
img1.push('4.jpg');
...
3此后,文件就变成了
JScript code
img1 = new Array('1.jpg');
img1.push('2.jpg');
img1.push('3.jpg');
img1.push('4.jpg'); <div class="clear">
</div>
Nach dem Login kopieren