小编Akn*_*sis的帖子

R计算值在每行中出现的次数

我需要找出每个模式(行的模式,而不是列)获得的值,它在我的数据行中出现的次数.

这是我的数据

> head(TiposMotivA)
  Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 Q19 Q20 Q21
1  5  4  4  4  6  6  7  6  4   6   6   6   4   4   4   4   6   7   4   4   6
2  5  4  4  5  5  5  5  5  5   5   7   5   4   3   1   6   6   5   6   7   7
3  4  5  4  4  5  4  5  4  5   4 …
Run Code Online (Sandbox Code Playgroud)

r mode

8
推荐指数
1
解决办法
2999
查看次数

Curl:显示所有PHP本地主机站点的“无法解析域名”错误

今天,我的cURL开始向我显示此错误,Could not resolve: {local-domain.test} (domain name not found) 如果我尝试从外部链接获取某些信息,则一切正常,但是本地站点无法正常工作。

所以,这是我的代码

public function send($type, $url, $data)
    {
        $type = strtolower($type);

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

        if ($type == 'post') {
            $urlWithData = http_build_query($data);
            curl_setopt($ch, CURLOPT_POST, count($data));
            curl_setopt($ch, CURLOPT_POSTFIELDS, $urlWithData);
        }

        $result = curl_exec($ch);
        $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);

        $out = new \stdClass();
        $out->status = $status;
        $out->body = json_decode($result, true);

        return $out;
    }
Run Code Online (Sandbox Code Playgroud)

如果我将该主机添加到我的/ etc / hosts /文件中,那么所有主机都将开始工作,但是我拥有大量的域,并且在更新PHP之前,我都可以正常工作。我正在使用dnsmasq作为动态主机解析工具。

  • 操作系统:MacOs High …

php dnsmasq curl

8
推荐指数
1
解决办法
801
查看次数

PHP - 使用空接口来确定逻辑

有几个地方我根据类实现的接口执行逻辑 - 有什么理由可能会出错也可能没出错?(感觉很脏)

这样做的原因是你不必添加任何类属性或方法来确定这些东西,基本上在类定义中你可以明确说明它能做什么/不能做什么.

一个用例是ajax调用,有些需要你登录,有些则不需要:

class ajax_ads extends ajax_controller implements no_login {

}
Run Code Online (Sandbox Code Playgroud)

此外,界面中没有方法,为此目的使用soley.

interface no_login {}
Run Code Online (Sandbox Code Playgroud)

然后在基本控制器中:

$controller = controller::factory()
if( !($controller instanceof no_login) && !$controller->LoggedIn()){
    return $controller->redirect(/*login page*/); 
}
Run Code Online (Sandbox Code Playgroud)

使用instance_of看起来轻巧简单,它工作正常,但再次感觉我完全滥用界面的目的.

所以我问,是用一个接口来判断逻辑是个坏主意,糟糕的oop还是'好吧'?

php oop interface

4
推荐指数
1
解决办法
1944
查看次数

如何从 PHP 命令行捕获 stderr

我想创建一个 C/C++ 在线编译器。

到目前为止我已经开发了以下代码:

<?php
error_reporting(E_ALL);
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{


    move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);
    compile();
}
function compile()
{
$a=shell_exec('gcc -o Compile Compile.c');
echo $a;
$b=shell_exec('./Compile');
echo $b;
}
?>
Run Code Online (Sandbox Code Playgroud)

文件 Compile.c 正在上传,然后由 gcc 编译。我想做的是:

  • 当编译出错时从stderr读取错误并显示在网页上。
  • 如果没有错误,则在输入文件上执行代码并显示执行时间,如果时间超过特定值,则显示超出时间限制的错误。

我在网上搜索发现如果编译语句附加“2>&1”作为

$a=shell_exec('gcc -o Compile Compile.c 2>&1');
Run Code Online (Sandbox Code Playgroud)

然后编译错误的输出返回到分配的变量(上面例子中的$a),但不是没有它。所以我的问题是如何检查错误然后将其显示在网页上而不附加“2>&1”,如果没有错误,则执行上面给出的第二步。

php c compiler-construction

3
推荐指数
1
解决办法
2258
查看次数

Monolog Logger在每条日志消息的末尾输出空数组

我的记录器对象在每行的末尾输出空数组 - [] [].例如;

[2017-08-17 12:26:02] import_log.INFO:checkForDuplicates :: is_processing [] []
[2017-08-17 12:26:04] import_log.INFO:is duplicate [] []

无论如何我可以阻止这种情况发生吗?我只想在没有空数组的情况下注销,即如下所示:

[2017-08-17 12:26:02] import_log.INFO:checkForDuplicates :: is_processing
[2017-08-17 12:26:04] import_log.INFO:重复

我正在创建自己的日志:

protected function importXML($fName) {

    // Create a log file for each XML file imported
    $logger = new Logger("import_log");
    $logger->pushHandler(new StreamHandler(storage_path('./logs/' . $fName . '.log')), Logger::INFO);

    ....

    $logger->info($myString);


    ....

    $logger->info($myObject);
}
Run Code Online (Sandbox Code Playgroud)

php monolog

3
推荐指数
1
解决办法
970
查看次数

页面加载/表单提交时 Voice Over 未读取断言 aria-live 区域

我在 a 上有一个 aria-live 区域role="alert",其值"assertive"未在表单提交中说出。当时它也是由 PHP 编写的,就像页面加载一样。

它在 PC 上的 NVDA 中运行良好,但在 Mac 上却什么也说不出来。我发誓我之前已经测试过这一点并且经常使用这种技术。

有什么想法为什么不被谈论吗?

div 看起来像这样:

<div class="alert alert-danger" role="alert" aria-live="assertive">Error: please fix the indicated fields:</div>
Run Code Online (Sandbox Code Playgroud)

accessibility screen-readers voiceover

3
推荐指数
1
解决办法
8022
查看次数

使用提交按钮时,ajax调用不起作用

我正在尝试使用以下API获取实时汇率.

"http://www.exchangerate-api.com/INR/USD/1?k=FQRxs-xT2tk-NExQj"
Run Code Online (Sandbox Code Playgroud)

当我点击一个按钮时,它会提醒率并且工作得很好.我正在使用以下Ajax代码.

<script type="text/javascript" language="javascript">
    function testCurrencyRate()
    {
        $.ajax({
                datatype:"html",
                type: "GET",
                url: "ajax/LiveCurrencyRate.php",
                data: "t="+new Date().getTime(),
                success: function(response)
                {       
                    alert(response);                    
                },
                error: function(e)
                {
                    alert('Error while fetchig the live currency rate.');                       
                }
            }); 
    }
</script>
Run Code Online (Sandbox Code Playgroud)

Ajax请求转到LiveCurrencyRate.php如下页面.

$url="http://www.exchangerate-api.com/INR/USD/1?k=FQRxs-xT2tk-NExQj";               
$result = file_get_contents($url);
echo $result;   
Run Code Online (Sandbox Code Playgroud)

并且<form></form>它包含唯一的按钮,当单击该按钮时,会在此URL上发出Ajax请求ajax/LiveCurrencyRate.php.

<form id="testForm" name="testForm" action="" method="post">    
    <input type="submit" id="btnTestCurrencyRate" name="btnTestCurrencyRate" value="Test" onclick="testCurrencyRate();"/>
</form>
Run Code Online (Sandbox Code Playgroud)

一切都好.然而,问题出现了,当我从改变按钮类型type="button"type="submit",这是行不通的.Ajax函数的错误部分中的警告框只显示警报框一段时间,突然它消失了.我找不到任何可能阻止此请求完成的合理原因.在我之前的项目中,同样的事情对我有用,但我用它XMLHttpRequest来制作Ajax请求.这里出了什么问题?

javascript ajax jquery

1
推荐指数
1
解决办法
6676
查看次数