我想将$_SERVER["REMOTE_ADDR"]
PHP中返回的数据存储到数据库字段中,这非常简单.问题是我无法找到有关IPv6地址的文本表示的最大长度的任何适当信息,这是网络服务器提供的$_SERVER["REMOTE_ADDR"]
.
我对将文本表示转换为地址通常编码的128位不感兴趣,我只想知道存储返回的任何IPv6地址需要多少个字符$_SERVER["REMOTE_ADDR"]
.
在以下JPA查询中,:fcIds命名参数需要是整数值列表:
@NamedQuery(name = "SortTypeNWD.findByFcIds", query = "SELECT s FROM SortTypeNWD s WHERE s.sortTypeNWDPK.fcId IN (:fcIds)")
Run Code Online (Sandbox Code Playgroud)
从逻辑上讲,这是在调用命名查询时执行的操作:
Query findByDatesPlFcIds = em.createNamedQuery("SortTypeNWD.findByFcIds");
findByDatesPlFcIds.setParameter("fcIds", fcIds);
Run Code Online (Sandbox Code Playgroud)
变量fcIds是包含整数的ArrayList.
以上所有代码都适用于Hibernate但不适用于TopLink:
Caused by: java.lang.IllegalArgumentException: You have attempted to set a value of type class java.util.ArrayList for parameter fcIds with expected type of int from query string SELECT s FROM SortTypeNWD s WHERE s.sortTypeNWDPK.fcId IN (:fcIds).
Run Code Online (Sandbox Code Playgroud)
在TopLink中使用List作为命名参数是否有解决方法?可以强制命名参数的类型吗?
我目前正在使用ImageMagick来确定上传到网站的图片大小.通过在命令行上调用ImageMagick的"识别",它需要大约0.42秒来确定1MB JPEG的尺寸以及它是JPEG的事实.我发现有点慢.
使用Imagick PHP库甚至更慢,因为它在对图像进行任何处理之前尝试加载整个1MB的内存(在这种情况下,只需确定其大小和类型).
是否有任何解决方案可以加快确定哪个文件类型以及任意图像文件具有哪些尺寸的过程?我可以忍受它只支持JPEG和PNG.对我来说重要的是文件类型是通过查看文件的标题来确定的,而不仅仅是扩展名.
编辑:解决方案可以是PHP调用的命令行工具UNIX,就像我现在使用ImageMagick的方式一样