拜求PHP老师指点取经.

2010-11-26 19:01:34 +08:00
 SolidZORO
http://app3c.com/demo/picman/index.php

现在写出来了,费了很大力气,用readdir这样的方式遍历文件而把图片显示出来.

不过有很多问题没解决.
1.文件排序问题,想把新上传的图片放到第一位.
2.文件显示个数控制,首页显示个20个缩略图就可以了.
3.如果有办法,压缩图片变为一大一小,小的放在首页显示.
4.因为没有用到数据库,没法给图片命名,这个实在是不会.
5.为什么有些jpg识别出来,说文件类型不支持,有些又可以?

暂时没想到那么多了,上面已经够难搞了.

其实我就想听听大家的说法,并且拜师.
4796 次点击
所在节点    问与答
21 条回复
Sam
2010-11-26 19:09:14 +08:00
没有用数据库?
SolidZORO
2010-11-26 19:10:02 +08:00
@Sam 没用,感觉那玩意比较难打理,之后设计一个再用吧.先把这个完善到极致先.
Sam
2010-11-26 19:11:17 +08:00
@SolidZORO 你还是加个数据库吧。。。
Sam
2010-11-26 19:12:46 +08:00
简单实例,随便做的,像flickr 那样,有好几种尺寸,但是链接没显示出来。
http://pebbly.cc/photos/Sam
SolidZORO
2010-11-26 19:14:14 +08:00
@Sam 这个不错.有没有源码. 倘若数据库方式.是不是做 上一页 下一页 这样的查询就方便很多?
Sam
2010-11-26 19:16:24 +08:00
呃,源码就算了吧,还需要安装ImageMagick的

建议你用数据库把图片的文件名保存起来,这样比较好操作一点
Sam
2010-11-26 19:22:23 +08:00
只是代码太丑了,不好意思提供,再加上我用了一个框架。。。
SolidZORO
2010-11-26 19:31:19 +08:00
@Sam 哎呀,怕什么啦,我这写得都没法见人都放了. 不过我找了一下.没发现有比较简单的开源PHP.... 而框架 我更是怕.

回家看PHP100视频多学学.
darasion
2010-11-26 19:58:44 +08:00
有了数据库,上边说的大部分东西都轻松实现,不用费劲。
你还是用吧。
Paranoid
2010-11-26 20:06:04 +08:00
LZ 用这种方式, 很多功能是要自己实现的.

1.文件排序问题,想把新上传的图片放到第一位. - 取得文件列表, 根据文件的创建时间排序 可以利用数组~

2.文件显示个数控制,首页显示个20个缩略图就可以了. 同上

3.如果有办法,压缩图片变为一大一小,小的放在首页显示. - 图片处理,可以找现成或自己写加前缀区别多大的图

4.因为没有用到数据库,没法给图片命名,这个实在是不会. - 上载文件 移动的时候就可以重命名和数据库无关.

5.为什么有些jpg识别出来,说文件类型不支持,有些又可以? -未知


--------------------------------------------------------
试试数据库嘛. 不是DBA真正用数据库就那么几个基本操作.~
jacy_hao
2010-11-26 20:09:14 +08:00
1.文件排序问题,想把新上传的图片放到第一位.
一般都用数据库实现比较方便(只是用数据库记录文件名就可以)。
2.文件显示个数控制,首页显示个20个缩略图就可以了.
同样数据库
3.如果有办法,压缩图片变为一大一小,小的放在首页显示.
百度搜索“PHP 缩略图”,你只要知道怎么用类,不需要先知道如何实现的远离。
4.因为没有用到数据库,没法给图片命名,这个实在是不会.
图片命名的时候 move_uploaded_file('临时文件名', '目录/+新文件名')这样就可以完成重命名。
5.为什么有些jpg识别出来,说文件类型不支持,有些又可以?
这个要看你的代码中是如何判断的。
Paranoid
2010-11-26 20:09:31 +08:00
5.为什么有些jpg识别出来,说文件类型不支持,有些又可以? -未知
明显写错了嘛.~~

($_FILES["file"]["type"]=="image/jpge")||
($_FILES["file"]["type"]=="image/pjpg")||
c
2010-11-26 20:16:33 +08:00
PHP 菜鸟,轻松获取服务器shell,
http://app3c.com/demo/picman/upload/ben.php
jacy_hao
2010-11-26 20:19:45 +08:00
。。。
jacy_hao
2010-11-26 20:24:18 +08:00
...上面已经开始SHELL打架了。。
c
2010-11-26 20:25:19 +08:00
@SolidZORO 把演示关了吧。你服务器没设置好,可以改你http://app3c.com/的页面了都。
c
2010-11-26 20:26:39 +08:00
我先把上传的关了,免得你们破坏 :)
c
2010-11-26 20:32:25 +08:00
@SolidZORO 我暂时在你每个目录里建立一个index.html,服务器上的上传也给你删除了,webshell 你自己删除吧。
Sunyanzi
2010-11-26 20:33:27 +08:00
1.文件排序问题,想把新上传的图片放到第一位.
http://php.net/manual/en/function.stat.php

2.文件显示个数控制,首页显示个20个缩略图就可以了.
http://php.net/manual/en/function.array-slice.php

3.如果有办法,压缩图片变为一大一小,小的放在首页显示.
http://php.net/manual/en/function.imagecopyresampled.php

4.因为没有用到数据库,没法给图片命名,这个实在是不会.
http://php.net/manual/en/function.serialize.php

5.为什么有些jpg识别出来,说文件类型不支持,有些又可以?
自己查代码

------------------------------------------

从 LZ 在 /t/3555 这个帖子里对我 #10 的内容回应来看 ...

我觉得我说多了也没用 ... 相关的解释什么的还是算了 ...

至少先学会走 ... 再考虑跑起来吧 ...
Sam
2010-11-26 20:53:50 +08:00
框架方面,试试 doophp, cakephp, kohana和 yii ,目前我用的是doophp

处理图片尺寸可以用GD,也可以用ImageMagick之类的,用ImageMagick还可以锐化图片之类的操作,速度也快很多,毕竟是用C写的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/5043

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX