>백엔드 개발 >PHP 튜토리얼 > php文件系统有关问题

php文件系统有关问题

WBOY
WBOY원래의
2016-06-13 13:10:20741검색

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>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.