我有一个有趣的问题,但是我不知道如何更好地表达它比说我有一个需要返回多列的子查询.当我试图这样做时,PostgreSQL会抛出一个错误,所以虽然我的SQL在某种程度上听起来对我来说很明显 - 显然有一种更好的方法可以做到这一点.我正在尝试将用户权限合并到一个表中(希望将其放入视图或甚至是各种类型的"物化视图").这是我的表格:
CREATE TABLE users (
user_id integer NOT NULL,
username character varying(32) NOT NULL,
passwd character varying(32) NOT NULL,
dept_id integer NOT NULL,
last_activity timestamp with time zone NOT NULL DEFAULT now(),
CONSTRAINT "pk-users-user_id" PRIMARY KEY (user_id)
);
CREATE TABLE groups (
group_id integer NOT NULL,
group_name character varying(32) NOT NULL,
add_posts integer NOT NULL DEFAULT 0,
remove_posts integer NOT NULL DEFAULT 0,
modify_users integer NOT NULL DEFAULT 0,
add_users integer NOT NULL DEFAULT 0,
delete_users integer NOT …Run Code Online (Sandbox Code Playgroud) 我有以下正则表达式:
(?i:^TPI$|^TIP$|^IPT$|^ITP$|^PIT$|^PTI$|^IP$|^PI$|^TI$|^IT$|^PT$|^TP$|^T$|^P$|^I$)
Run Code Online (Sandbox Code Playgroud)
我该如何简化它?我的正则表达知识相当有限.
我的要求是:
我用了
^(?i:[TPI]){1,3}$
Run Code Online (Sandbox Code Playgroud)
在过去,这主要是有效的.唯一的问题是它接受多个值"TTT"是可以接受的正则表达式,我需要它失败).
我正在尝试构建一个正则表达式(.NET)来匹配一个百分比与4位小数.小数点后4位是必需的.范围看起来像:
0.0001 to 100.0000
Run Code Online (Sandbox Code Playgroud)
到目前为止,我想出了:
(?:[^0]+[1-100]{1,3})\.(?:\d{4})
Run Code Online (Sandbox Code Playgroud)
但是,我对如何在此表达式中添加一些其他要求有点不确定.我需要:
感谢帮助!
我正在尝试打开一个文件进行解析(二进制文件),但无论fopen()总是返回NULL.
我已经排除了几乎所有的东西,我只需要一个测试脚本:
<?php
$idx = fopen('/usr/home/username/web/appname/dev/www/debug/18194001.idx','r');
trigger_error(var_export($idx,true));
exit();
Run Code Online (Sandbox Code Playgroud)
来自trigger_error(var_export())的输出; 是:
[31-Mar-2013 16:30:34 UTC] PHP Notice: NULL in /usr/home/username/web/appname/dev/www/debug/ajax.idx.php on line 3
Run Code Online (Sandbox Code Playgroud)
无论我为第二个fopen()选项指定了什么标志,我都得到相同的结果.
现在,显而易见的问题是文件是否存在,我是否有权阅读它?两者的答案都是肯定的.我已经使用了相对路径和绝对路径,都读取了正确的文件.file_get_contents()也读取文件没有问题.
is_readable()和file_exists()都返回true
该文件的ls -lah输出为:
-rwxrwxrwx 1 username username 2.0K Mar 30 15:02 18194001.idx
Run Code Online (Sandbox Code Playgroud)
其中'username'与web服务器进程和PHP(lighttpd和php-fpm)运行的用户名匹配.父目录还具有user/group/all的读/读/读权限.
我已经尝试了其他文件,我注意到我在fopen抛出的任何东西都返回了一个NULL值.
救命?
PHP信息:
PHP 5.4.6 (cli) (built: Oct 10 2012 10:43:19)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
with XCache v2.0.1, Copyright (c) 2005-2012, by mOo
Run Code Online (Sandbox Code Playgroud)
Lighttpd信息:
lighttpd/1.4.31 (ssl) - a light and fast webserver
Build-Date: Sep …Run Code Online (Sandbox Code Playgroud) regex ×2
.net ×1
decimal ×1
fopen ×1
freebsd ×1
lighttpd ×1
percentage ×1
permissions ×1
php ×1
postgresql ×1
sql ×1
usergroups ×1