小编rdm*_*age的帖子

如何从PHP中的URL获取具有相同名称的多个参数

我有一个PHP应用程序,有时必须处理URL中的多个参数具有相同名称的URL.是否有一种简单的方法来检索给定密钥的所有值?PHP $ _GET仅返回最后一个值.

为了使这个具体,我的应用程序是一个OpenURL解析器,可能会得到这样的URL参数:

ctx_ver=Z39.88-2004
&rft_id=info:oclcnum/1903126
&rft_id=http://www.biodiversitylibrary.org/bibliography/4323
&rft_val_fmt=info:ofi/fmt:kev:mtx:book
&rft.genre=book
&rft.btitle=At last: a Christmas in the West Indies. 
&rft.place=London,
&rft.pub=Macmillan and co.,
&rft.aufirst=Charles
&rft.aulast=Kingsley
&rft.au=Kingsley, Charles,
&rft.pages=1-352
&rft.tpages=352
&rft.date=1871
Run Code Online (Sandbox Code Playgroud)

(是的,我知道这很难看,欢迎来到我的世界).请注意,键"rft_id"出现两次:

  1. rft_id=info:oclcnum/1903126
  2. rft_id=http://www.biodiversitylibrary.org/bibliography/4323

$_GET只返回http://www.biodiversitylibrary.org/bibliography/4323,早期的值(info:oclcnum/1903126)已被覆盖.

我想要访问这两个值.这可能在PHP?如果没有,有关如何处理这个问题的任何想法?

php parameters url

43
推荐指数
4
解决办法
6万
查看次数

使用URI的md5哈希作为数据库中的主键的优缺点

我正在构建一个数据库,该数据库将存储一系列对象(例如科学论文,标本,DNA序列等)的信息,这些对象都在线存在并且可以通过URL或诸如DOI的标识符来识别.使用这些GUID作为对象的主键似乎是一个合理的想法,我跟随美味Connotea使用GUID的md5哈希.如果将鼠标悬停在美味或Connotea书签上的编辑或删除按钮上,您将在浏览器状态栏中看到md5哈希值.例如,http:// stackoverflow /的书签是

http://delicious.com/url/e4a42d992025b928a586b8bdc36ad38d
Run Code Online (Sandbox Code Playgroud)

其中e4a42d992025b928a586b8bdc36ad38d是http:// stackoverflow /的md5哈希值.

有没有人对这种方法的利弊有看法?

对我来说,这种方法的优势(与使用由数据库本身生成的自动递增主键相反)是我必须在对象之间进行大量链接,并且通过使用md5哈希,我可以将这些链接外部存储在文件中(比如,作为数据挖掘/抓取的结果),然后将它们批量导入数据库.同样,如果必须从头开始重建数据库,则对象的URL不会更改,因为它们使用md5哈希.

我会欢迎任何关于这听起来是否明智的想法,或者是否还有其他(更好的?)方法.

database uri md5 guid primary-key

24
推荐指数
3
解决办法
2万
查看次数

标签 统计

database ×1

guid ×1

md5 ×1

parameters ×1

php ×1

primary-key ×1

uri ×1

url ×1