V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
SolidZORO
V2EX  ›  问与答

拜求PHP老师指点取经.

  •  
  •   SolidZORO · 2010-11-26 19:01:34 +08:00 · 4952 次点击
    这是一个创建于 5141 天前的主题,其中的信息可能已经有所发展或是发生改变。
    http://app3c.com/demo/picman/index.php

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

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

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

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

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

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

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

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

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

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

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


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

    ($_FILES["file"]["type"]=="image/jpge")||
    ($_FILES["file"]["type"]=="image/pjpg")||
    c
        13
    c  
       2010-11-26 20:16:33 +08:00
    PHP 菜鸟,轻松获取服务器shell,
    http://app3c.com/demo/picman/upload/ben.php
    sjIwBjkW8fgByvSO
        14
    sjIwBjkW8fgByvSO  
       2010-11-26 20:19:45 +08:00
    。。。
    sjIwBjkW8fgByvSO
        15
    sjIwBjkW8fgByvSO  
       2010-11-26 20:24:18 +08:00
    ...上面已经开始SHELL打架了。。
    c
        16
    c  
       2010-11-26 20:25:19 +08:00
    @SolidZORO 把演示关了吧。你服务器没设置好,可以改你http://app3c.com/的页面了都。
    c
        17
    c  
       2010-11-26 20:26:39 +08:00
    我先把上传的关了,免得你们破坏 :)
    c
        18
    c  
       2010-11-26 20:32:25 +08:00
    @SolidZORO 我暂时在你每个目录里建立一个index.html,服务器上的上传也给你删除了,webshell 你自己删除吧。
    Sunyanzi
        19
    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
        20
    Sam  
       2010-11-26 20:53:50 +08:00
    框架方面,试试 doophp, cakephp, kohana和 yii ,目前我用的是doophp

    处理图片尺寸可以用GD,也可以用ImageMagick之类的,用ImageMagick还可以锐化图片之类的操作,速度也快很多,毕竟是用C写的。
    SolidZORO
        21
    SolidZORO  
    OP
       2010-11-26 22:04:47 +08:00
    @c 谢谢你的nsTView。哈哈。 我只是提出问题,想看看大家的思路。

    服务器大家折腾吧,没事。我还原很容易。都有备份。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1527 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:56 · PVG 00:56 · LAX 08:56 · JFK 11:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.