使用MySQL计算中值的最简单(并且希望不是太慢)的方法是什么?我已经习惯AVG(x)了找到平均值,但我很难找到一种计算中位数的简单方法.现在,我将所有行返回给PHP,进行排序,然后选择中间行,但肯定必须有一些简单的方法在单个MySQL查询中执行此操作.
示例数据:
id | val
--------
1 4
2 7
3 2
4 2
5 9
6 8
7 3
Run Code Online (Sandbox Code Playgroud)
排序上val给出2 2 3 4 7 8 9的,所以中间应该是4,与SELECT AVG(val)这== 5.
我在一个有点大的Web应用程序上工作,后端主要是在PHP中.代码中有几个地方我需要完成一些任务,但我不想让用户等待结果.例如,在创建新帐户时,我需要向他们发送欢迎电子邮件.但是当他们点击"完成注册"按钮时,我不想让他们等到实际发送电子邮件,我只想启动该过程,并立即向用户返回消息.
到目前为止,在某些地方,我一直在使用exec()感觉像是一个黑客.基本上做的事情如下:
exec("doTask.php $arg1 $arg2 $arg3 >/dev/null 2>&1 &");
Run Code Online (Sandbox Code Playgroud)
这似乎有效,但我想知道是否有更好的方法.我正在考虑编写一个在MySQL表中排队任务的系统,以及一个单独的长时间运行的PHP脚本,每秒查询一次该表,并执行它找到的任何新任务.如果需要的话,这也有可能让我将来在几台工作机器之间拆分任务.
我是在重新发明轮子吗?有没有比exec()hack或MySQL队列更好的解决方案?
有没有人有一个脚本的例子可以在IE/Firefox中可靠地工作,以检测浏览器是否能够显示嵌入式Flash内容.我说得可靠,因为我知道它不可能100%的时间.
使用Git 1.7.0中新的稀疏结账功能,是否可以像在SVN中一样获取子目录的内容?我找到了这个例子,但它保留了完整的目录结构.想象一下,我只想要'perl'目录的内容,而没有名为'perl'的实际目录.
- 编辑 -
例:
我的git存储库包含以下路径
repo/.git/
repo/perl/
repo/perl/script1.pl
repo/perl/script2.pl
repo/images/
repo/images/image1.jpg
repo/images/image2.jpg
repo/doc/
repo/doc/readme.txt
repo/doc/help.txt
Run Code Online (Sandbox Code Playgroud)
我想要的是能够从上面的存储库中生成这种布局:
repo/.git/
repo/script1.pl
repo/script2.pl
Run Code Online (Sandbox Code Playgroud)
然而,使用当前的稀疏结账功能,似乎只能获得
repo/.git/
repo/perl/script1.pl
repo/perl/script2.pl
Run Code Online (Sandbox Code Playgroud)
这不是我想要的.
对于ActionScript 2,我使用过NaturalDocs.但是它对PHP的支持很差.到目前为止我看过doxygen和phpDocumentor,但是我认为它们的输出非常难看.有没有人有PHP自动文档生成的经验?我更喜欢能够使用javadoc风格的标签,它们很容易编写并且易于记忆.
假设我有一个字符串,"2007-02-28"我能编写的最简单的代码是"2007-03-01"什么?现在我只是使用strtotime(),然后添加24*60*60,然后使用date(),但只是想知道是否有更干净,更简单,或更聪明的方式.
我有一些用PHP编写的代码,用于使用我们简单的Web服务,我也想在Perl中为可能更喜欢该语言的用户提供这些代码.制作HTTP请求的最简单方法是什么?在PHP中,我可以在一行中完成file_get_contents().
这是我想要移植到Perl的整个代码:
/**
* Makes a remote call to the our API, and returns the response
* @param cmd {string} - command string ID
* @param argsArray {array} - associative array of argument names and argument values
* @return {array} - array of responses
*/
function callAPI( $cmd, $argsArray=array() )
{
$apikey="MY_API_KEY";
$secret="MY_SECRET";
$apiurl="https://foobar.com/api";
// timestamp this API was submitted (for security reasons)
$epoch_time=time();
//--- assemble argument array into string
$query = "cmd=" .$cmd;
foreach ($argsArray as $argName …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个功能类似于Perl的WWW :: Mechanize的库,但是对于PHP.基本上,它应该允许我使用简单的语法提交HTTP GET和POST请求,然后解析生成的页面并以简单的格式返回所有表单及其字段,以及页面上的所有链接.
我知道CURL,但它有点过于简单,而且语法非常难看(大量的curl_foo($curl_handle, ...)陈述
澄清:
到目前为止,我想要比答案更高级的东西.例如,在Perl中,您可以执行以下操作:
# navigate to the main page
$mech->get( 'http://www.somesite.com/' );
# follow a link that contains the text 'download this'
$mech->follow_link( text_regex => qr/download this/i );
# submit a POST form, to log into the site
$mech->submit_form(
with_fields => {
username => 'mungo',
password => 'lost-and-alone',
}
);
# save the results as a file
$mech->save_content('somefile.zip');
Run Code Online (Sandbox Code Playgroud)
要使用HTTP_Client或wget或CURL做同样的事情会有很多工作,我必须手动解析页面以查找链接,找到表单URL,提取所有隐藏字段,等等.我要求PHP解决方案的原因是我没有使用Perl的经验,而且我可以用很多工作构建我需要的东西,但如果我能在PHP中完成上述操作会更快.
是否可以在不使用MXML的情况下使用Flex Framework和组件?我非常了解ActionScript,并且不想乱用一些新的XML语言只是为了获得一些简单的UI.任何人都可以提供一个包含.as文件的例子,该文件可以编译(理想情况下通过FlashDevelop,虽然只是告诉如何使用Flex SDK也可以)并使用Flex Framework?例如,只显示弹出打开警报的Flex按钮将是完美的.
如果不可能,有人可以提供一个最小的MXML文件,它将引导一个自定义AS类,然后可以访问Flex SDK吗?
php ×4
apache-flex ×1
asynchronous ×1
automation ×1
background ×1
certificate ×1
code-signing ×1
date ×1
datetime ×1
flash ×1
flashdevelop ×1
git ×1
http ×1
java ×1
javascript ×1
mechanize ×1
median ×1
mxml ×1
mysql ×1
perl ×1
queue ×1
sql ×1
ssl ×1
statistics ×1
strtotime ×1
task ×1
web-services ×1