我想做个表单,用户可以上传图片,上传之后可以马上大窗口上预览,并在小窗口上生成缩略图。如果用户不提交表单,或转到其他页面,图片就不保存,缩略图也消失,该如何做这个缓存??大家给个建议,客户端和服务器端都可以!!!

解决方案 »

  1.   

    其它地方在服务器上吗?还是要把图片保存到根目录,然后没有提交再unlink掉吧
      

  2.   

    没提交unlink掉,这个方法好像很难实现吧?? 问题是如何判断用户没有提交!!!
      

  3.   

    你应该需要的是个:上传图片前的图片浏览功能我随便搜了个,这个页面
    http://blog.csdn.net/QQ30871740/archive/2007/10/26/1845382.aspx
    效果不知,想着兼容会有问题,你再找找吧..
      

  4.   

    我正好刚做完这个,和你的说一样,谈谈心得
    如果要做到不submit,只能用javascript实现,这个很容易,google搜索一下就有解决办法。我用了submit,不过页面不用刷新,有人说是伪ajax:
    页面加入一个隐藏的<iframe>,用户点上传的时候,submit action到那个iframe,所有的图片处理都在iframe 的src指定的文件完成。成功后用javascript把缩略图写到页面。
    做起来很麻烦,不过用户使用的感觉和用ajax一样。另,submit后$_FILE["your_input_file"]["tmp_name"]默认会在/tmp(linux)目录下,这个目录本来就是定时清理的,不存在垃圾文件问题。
      

  5.   


    您的意思我明白了,是不是还用用一个<input type="hiden">把$_FILE["image"]["tmp_name"]记录下来,不过这样黑客就可以修改tmp_name的值,造成安全漏洞!!!不知道用is_uploadedfile()函数可否弥补这个漏洞,希望有高手可以解释下!!!
      

  6.   

    楼主看这个地址:(非广告)http://www.code52.net/web/PHP/php20081125223.html
    你要的功能里面有。
    没有垃圾文件什么事,没有缓存什么事,安全和漏洞问题先不讨论吧
      

  7.   


    好象不是这个吧你给的没有预览功能,只是ajax提交
      

  8.   

    用js和本地图片做就行了,不过有个问题是在解晰本地图片url地址时的中文问题,IE可以忽略,关锓是ff