问题列表分类: PHPPHP+ajax上传时如何得到用户上传图片的数量?
0
头像付杰 管理员 asked 2年 ago

我现在网站已经可以上传图片了,而且图片等相关信息都可以存入myql数据库了。但:我想拿到同一个用户刚上传的几张图片?下图我标记的就是用户最新上传的几张图片,我怎么才能拿到呢?

PHP+ajax上传时如何得到用户上传图片的数量

3 Answers
0
头像付杰 管理员 answered 2年 ago

我说下原理吧:其实想到得到图片上传的个数也是非常的简单,我们图片上传不是要循环来存入数据库吗?循环的时候,存入一张图片可以+1,是不是也可以得到图片的数量呢?
php的$_FILES,通过它是不是也可以得到图片的个数呢?

0
头像付杰 管理员 answered 2年 ago

经过的多次和提问的这个朋友交流,结果才发现:它所做的ajax是上传一张图片,然后再存入一张图片,意思是:不需要用循环,这就来得到图片的个数就有点不太好做了!
后来我的建议是:让他用token来做,如果上传5张图片,5个token都一样的话,是不是也可以得到图片的个数呢?由于测试,token我们就可以用php的随机数rand(),后来测试是失败了,因为它是把token加入到thinkphp代码里去解析的。
我其实想的是:让它把token加入到模板文件form表单里面去,只要这个表单不刷新的话,它的token其实是不会变的。后来他说它的图片上传没有form表单,试想一下:只要是上传不管你是用ajax还是php原生,没有表单,用户怎么能选择文件呢?最后他把图片上传代码截图给我,如下:
PHP+ajax上传时如何得到用户上传图片的数量
从上面的代码可以看出,的确这图片上传是没有任何表单的,因为它用的是第三方上传源码,就好像大家用的第三方编辑器一样的,我相信做过PHP项目的人都知道;

0
头像付杰 管理员 answered 2年 ago

由于它的图片上传是第三方的,想要得到图片的个数只好修改源码对吗?但是做为一个程序开发者来说,不要轻易修改别人的源码,毕竟有很多东西你也不是明白,没准以后出现了不兼容,你都不知道哪里出现在的BUG;
最后它把它的前台样式载图发给我了一下,如下图:PHP+ajax上传时如何得到用户上传图片的数量
看了这图片了,我瞬间明白了,这是由于它自己的设计有问题;
从上图可以看出,这有几个很重要的选项:选择话题、输入话题、内容、添加图片 ;最后发布;

不用说一个话题肯定是有一个ID的,而且还是唯一的;

存图片的时候,把这个话题ID也存入进去;哪个用户发的ID也存入进去;

查的时候,直接查这个话题ID,图片不就出来了吗?
 
 
当然,最后是通过此方法解决了这个问题,其实很简单,只是它设计的时候只考虑到了用户的ID,没有考虑到话题的ID,话题ID就好比我们常说的文章ID;