小编ack*_*hez的帖子

从unix时间戳返回本地时间与php中的时区标识符

我在网页上有一个下拉框,它将时区标识符作为值(但是我可以更改它以保存GMT偏移,如果这是更好的选择).目前,用户将节省诸如"America/Denver"之类的东西作为他/她的时区.

我需要将unix时间戳转换为用户的本地时间,以便在页面的另一部分中显示.完成此任务的最佳方法是什么?

将GMT偏移量存储在数据库中并将其用于时间计算会更好吗?有人可以指点我在正确的方向吗?

谢谢!

php datetime timestamp

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

使用sendgrid和codeigniter将邮件发送给多个收件人

我最近注册了SendGrid并看了他们与CodeIgniter的集成.

他们建议您执行以下操作以发送邮件:

 $this->email->initialize(array(
      'protocol' => 'smtp',
      'smtp_host' => 'smtp.sendgrid.net',
      'smtp_user' => 'sendgridusername',
      'smtp_pass' => 'sendgridpassword',
      'smtp_port' => 587,
      'crlf' => "\r\n",
      'newline' => "\r\n"
    ));

    $this->email->from('your@example.com', 'Your Name');
    $this->email->to('someone@example.com');
    $this->email->cc('another@another-example.com');
    $this->email->bcc('them@their-example.com');
    $this->email->subject('Email Test');
    $this->email->message('Testing the email class.');
    $this->email->send();

    echo $this->email->print_debugger();
Run Code Online (Sandbox Code Playgroud)

这对于向单个人发送电子邮件似乎是一个很好的解决方案,但如果我有一封电子邮件要发送给一大群人呢?是否可以将"to"或"bcc"作为数组发送?

对于将SendGrid与CI一起使用,是否存在不同的集成方法?

谢谢!

php email codeigniter sendgrid

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

Laravel 5.1 自定义异常的自定义参数

我正在尝试创建一个带有自定义参数的自定义异常。我觉得我在这里做错了什么。基本上我想在 Laravel 的异常处理文件中处理异常,但我需要额外的异常数据来了解诸如谁引起了异常之类的信息。这就是我到目前为止所拥有的......

<?php

namespace App\Exceptions;

use Exception;

class ApiException extends \Exception
{
    public $userId;

    public function __construct($userId, $message, $code, Exception $previous)
    {
        parent::__construct($message, $code, $previous);
        $this->userId = $userId;
    }

}
Run Code Online (Sandbox Code Playgroud)

这里的想法是将 userId 传递到异常中,以便我稍后可以访问它。但我有一个问题。在这种情况下,我不知道要传递什么作为“$previous”变量......

throw new ApiException($user->id, 'im testing', 200, $previous);
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。

php exception laravel-5 laravel-5.1

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

Elastic Beanstalk在启用ZipArchive的情况下编译php

我需要将我的PHP项目设置为在启用ZipArchive的情况下编译php.我在Elastic Beanstalk上运行php7,需要有关如何编写".ebextensions"文件来完成此任务的帮助.有人可以帮帮我吗?

谢谢!

php php-extension amazon-web-services amazon-elastic-beanstalk laravel-5

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

Jquery突然无法钻进json?

我有一个奇怪的scinario.我一直在使用$ .ajax()对我的服务器进行ajax调用以获取数据,并且对这些服务器调用使用了相同的格式.一切都很顺利,但我突然写了一个函数并返回了一个jQuery无法钻进的JSON对象.我在Firebug中看着它,一切看起来都很正常.有人可以帮我在这里理解为什么我突然无法深入研究这个特定的数据对象?

这是ajax代码:

$.ajax(
    {
        type: "GET",
        url: "php/getoptions.php",
        dataType: 'json',
        data: 'id='+id,
        success: function(j)
        {           
            alert(j.isdefault); 
        }
    });
Run Code Online (Sandbox Code Playgroud)

当我尝试这样做时,警报给我"未定义".我试过"alert(JSON.stringify(j))",我看到返回了有效的json.我甚至采用了我在Firebug中看到的json并通过JSONLint运行它并返回有效.

以下是json回归的样本:

[{"isdefault":"1","option1":"1","option2":"0","option3":"0","option4":"1","option5":"1"}]
Run Code Online (Sandbox Code Playgroud)

到底是怎么回事?为什么jQuery突然没有钻进这个数据集?

谢谢!

javascript jquery json

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

datatables空表错误

我有一段代码,我使用datatables插件.

表结构如下所示:

<thead>
    <tr>
        <th>col1</th>
        <th>col2</th>
        <th>col3</th>
        <th>col4</th>
        <th>col5</th>
        <th>col6</th>
        <th>col7</th>
        <th>col8</th>
    </tr>
</thead>
Run Code Online (Sandbox Code Playgroud)

但请注意,在初始化代码中,我隐藏了最后四列.

在我的代码中,我执行以下操作:

if($data->responseCode < 400)
{
    echo HTML Table
}
Run Code Online (Sandbox Code Playgroud)

这样可行

else
{
    echo '<tr><td colspan=4><h1 class="error">'.$data->errorMsg.'</h1></td></tr>';
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我收到以下错误:

"DataTables warning(table id ='DataTables_Table_0'):从第0行的数据源请求未知参数'1'"

这是dataables代码:

var oTable = $('.table1').DataTable({
    "iDisplayLength": 100,
    "aaSortingFixed": [[0,'desc']],
    "aaSorting": [ [0,'asc'] ],
    "aoColumnDefs": [
          { "bVisible": false, "aTargets": [ 4,5,6,7 ] },
          { "bSearchable": false, "aTargets": [ 1,2,3,4,5,6,7] },
          { "bSearchable": true, "aTargets": [ 0 ] },
        ]
});
Run Code Online (Sandbox Code Playgroud)

有谁知道会导致什么?我想也许是colspan,但当我删除它时,问题仍然存在.奇怪的是我在另一个页面上使用它,它似乎处理一个空的结果集就好了.

不确定这是否有帮助,但在玩了一点后我设法得到以下错误显示在firebug中:

"TypeError:nTd未定义"

javascript jquery datatables

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

钻进JSON

我从我的服务器上取回了以下数据集

{"success":"y","carrier":"Verizon Wireless","isMobile":"true"}
Run Code Online (Sandbox Code Playgroud)

当我尝试从我的ajax函数钻取json结果时

$.ajax(
{
    url: 'php/lookup.php',
    data: 'number='+encodeURIComponent(num),
    datatype: 'json',
    type: 'get',
    success: function (j) 
    {

        alert(j);
        alert(j.carrier);

    }
Run Code Online (Sandbox Code Playgroud)

当我做警报(j)时,我能够提醒整个JSON字符串,但是当我做警报(j.carrier)时,我得到一个未定义的.

有人可以对此有所了解吗?

谢谢!

ajax jquery json

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

如何正确保护 S3 存储桶中的私有数据

我有一个存储用户图像和音频的应用程序。我们使用 S3 进行存储,我想确保我们存储的用户数据既安全又不能完全被外界访问。

这是我到目前为止的想法。

  1. 使用具有有限生命周期的预签名 URL,以便页面加载后浏览器中的 URL 将无法使用。
  2. 将我的存储桶内容配置为只能通过域访问 - 不确定这是否会干扰用户下载其内容的能力。

我有以下问题:

  1. 由于浏览器中的 URL 实际上并非来自 s3,因此使用 CloudFront 提供文件是否可以充当安全层?
  2. 如果存储桶名称和结构在 URL 中可见(如果在浏览器中查看页面源代码),从安全角度来看,这是否不好?
  3. 是否可以将 s3 配置为使用存储桶的别名,以便我可以通过不同的 URL 访问相同的内容,从而不会暴露存储桶名称?
  4. 确保适当的文件安全性同时又允许用户轻松访问其内容的最佳方法是什么?

提前致谢!

php security amazon-s3 amazon-web-services

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

Laravel 自定义异常配置

我一直在尝试在 Laravel 5.3 中实现一些自定义异常,但没有成功。

我创建了一个扩展 Exception 类的 AppException 。这样做的想法是我想将用户附加到我的异常中,以便我知道是谁绊倒了它并可以记录它。

所以我像这样设置了我的自定义异常:

class AppException extends Exception{

    protected $userId;

    public function __construct($message = '', $userId=0)
    {
        parent::__construct($message);
        $this->userId = $userId;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想要的是在我的控制器函数中使用 try catch ,然后捕获异常,然后重新抛出应用程序异常,以便我可以附加用户。像这样:

try{
    << code here >>
}
catch(Exception $e){
    throw new AppException($e->getMessage, $request->user()->id);
}
Run Code Online (Sandbox Code Playgroud)

我发现我无法获得良好的跟踪堆栈,因为我从异常记录的行是捕获中重新抛出的行,而不是来自实际异常的行。

设置它的正确方法是什么?我试图以一种可以利用 Laravel 附带的内置 Handler.php 文件的方式来做到这一点,而不必在每个 try catch 中放入日志代码。

谢谢!

php error-handling exception-handling exception laravel-5.3

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