Home  >  Article  >  Backend Development  >  php文件系统有关问题

php文件系统有关问题

WBOY
WBOYOriginal
2016-06-13 13:10:20702browse

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');

上文中的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');
,上传这个分类的时候,也会自动在数组中增加.
在文件中需保证数组赋的变量不能重复.当添加另外图片分类的时候,一直递增下去,如:
JScript code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->imgs3=new array('images/1.jpg');
等.

------解决方案--------------------
不管是写入文件数组还是从数据库取出的数组,修改功能查询的就是以前添加的数据肯定是存在的否则也修改不了,在添加前查询一下数组的变量是否存在验证一下,修改已经查询到你以前添加或者修改过的图片路径,比如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>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn