Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何改善这个壁纸库?_Php_Jquery_Html_Web_Image Gallery - Fatal编程技术网

Php 如何改善这个壁纸库?

Php 如何改善这个壁纸库?,php,jquery,html,web,image-gallery,Php,Jquery,Html,Web,Image Gallery,画廊- 这个图库的目的很简单——存储大量壁纸,并按分辨率和/或纵横比对它们进行排序,供人们随意浏览和下载。我想使用一些特性,但我不太确定如何最好地使用它们,或者如何使用它们。该演示文稿采用HTML4、CSS、Javascript和jQuery+插件。幕后工作是用PHP完成的 1-不使用“将图像另存为…”即可下载图像。现在我正在使用一种新方法,点击每个图像框右下角的下载链接,就会打开一个新框,上面有指示信息告诉用户“右键单击”。将图像另存为…'。如果可能的话,我想完全避免这种情况 2-使搜索和排序

画廊-

这个图库的目的很简单——存储大量壁纸,并按分辨率和/或纵横比对它们进行排序,供人们随意浏览和下载。我想使用一些特性,但我不太确定如何最好地使用它们,或者如何使用它们。该演示文稿采用HTML4、CSS、Javascript和jQuery+插件。幕后工作是用PHP完成的

1-不使用“将图像另存为…”即可下载图像。现在我正在使用一种新方法,点击每个图像框右下角的下载链接,就会打开一个新框,上面有指示信息告诉用户“右键单击”。将图像另存为…'。如果可能的话,我想完全避免这种情况

2-使搜索和排序更快、更高效。现在,所有的图像都存储在我的Web空间的一个文件夹中,我使用一个shell命令和PHP中的许多奇特的过滤来获得我想要的基于过滤器的图像(我所在的页码和我选择的纵横比或分辨率)。我想用MySQL做点什么,但我还没有完全弄清楚如何做到这一点并保持我的页面结构

3-使图像加载更快。对此可能没有简单的编码解决方案,因此这一个更像是“我希望”而不是“我想”

4-改进布局。我想这本书更主观,更“艺术”,但任何建议都很好

5-上传系统。允许上传您自己的壁纸,可能包括简短的说明或一些标签。我完全不知道如何处理这个问题,因为我以前从来没有上传过文件。这也导致了

6-标签系统或其他类型的用户自制分拣系统。再说一次,这里没有经验

任何关于这些问题的见解都是非常好的,您可以随意提出自己的任何建议

  • 发送MIME类型为“application/octet stream”的文件,使浏览器下载而不是显示它们

  • 将有关图像的信息存储在数据库中肯定比探索文件系统要好

  • 这些图片对我来说并不是很慢,所以我不能在这里提出任何建议。如果您的站点变得更大(更大),您可能希望查看CDN

  • 布局还行,但它需要一些设计,目前非常简单。看到更多关于这些图片的信息也很好——它们是什么,来自哪里,是谁制作的,等等(别忘了:正确的版权归属)

  • 你可能想读书。要处理描述和标记,您肯定需要某种类型的数据库

  • 如果您有一个格式正确的数据库,也不难。如果您以前从未设计过模式,那么您可能希望了解一些关于规范化和多对多关系的知识,以完成标记


  • 最后,您没有要求它,但是如果能够以多种分辨率显示相同的图像(在图像网站上非常常见,比如Flickr、Deviantart等),那就太好了。

    也许您可以将其与其他网站进行比较谢谢您的建议。当你说“发送”文件时,你的意思是什么?你如何更改MIME类型?另外,为了法律上的安全,我已经把这些墙纸上有版权文字的图片清理干净了。当然,这并不意味着其他人没有版权,但主要的问题是,我所看到的这些壁纸或多或少都是一个朋友从USB驱动器上给我的,我不知道它们来自哪里。如果我扩展到用户提交模型,那么是的,信息肯定是可用的(如果用户添加了它)。更改MIME类型的简单方法是通过PHP脚本发送文件内容,该脚本适当地设置了内容类型头,或者更快地将其交给Web服务器。您可以执行一些魔术,因此GET/images/01.jpg?因为下载提供了二进制文件的MIME类型,而GET/images/01.jpg发送正常的JPEG MIME类型(image/JPEG),或者可能/download/01.jpg用于下载,而/images/01.jpg用于查看。。。有很多方法可以做到这一点。顺便说一句,如果你想找到任意图像的来源,tineye.com会非常有用。