标签: php

PHP将整数转换为日期,反转strtotime

<?php
echo strtotime("2014-01-01 00:00:01")."<hr>";
// output is 1388516401
?>
Run Code Online (Sandbox Code Playgroud)

如果它可以逆转,我会感到惊讶.我的意思是我可以convert 1388516401 to 2014-01-01 00:00:01.我真正想知道的是,这种转换背后的逻辑是什么.php如何将日期转换为特定的整数.

php time date strtotime type-conversion

18
推荐指数
2
解决办法
10万
查看次数

如何在PHP中使用spl_autoload_register用于多个处理器?

我实际上是在尝试为自己创建一个MVC框架,但是我在使用Autoload时遇到了麻烦.实际上这不是问题,但我想问一下大师们,spl_autoload_register当有不同的目录时,他们如何使用该功能.

可以说我们有以下目录:

Controllers
Libs
Models
Run Code Online (Sandbox Code Playgroud)

每个文件夹包含不同的类,如:

Controllers:
   Main.php
   File.php
   About.php
Libs:
   Main.php
   Front_controller.php
Models:
   Index.php
   File.php
   Login.php
Run Code Online (Sandbox Code Playgroud)

您可以注意到,在不同的目录中可能会找到一些具有相同名称的文件名.好的,所以这是我到目前为止所尝试的:

spl_autoload_register(function ($class) { 

    $pathContorllers = 'Controllers/' . $class . '.php';
    $pathLibs = 'Libs/' . $class . '.php';
    $pathModels = 'Models/' . $class . '.php';

    if (file_exists($pathContorllers)) {
        require_once $pathContorllers;
    } elseif (file_exists($pathLibs)) {
        require_once $pathLibs;
    } elseif (file_exists($pathModels )) {
        require_once $pathModels ;
    }
});
Run Code Online (Sandbox Code Playgroud)

它运作良好,但我确信还有另一种方法可以使一切变得更简单.任何人都可以建议我如何使这些代码更好或更简单/在这种情况下大师使用什么?

php spl-autoload-register

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

如何在Windows 7上安装ImageMagick与PHP一起使用(3)

还有其他关于如何在Windows 7上安装Imagick的帖子,但到目前为止我没有帮助.:(

(也许最新版本出现了问题)

我已按照以下步骤安装:

  1. 下载并安装ImageMagick

    http://www.imagemagick.org/download/binaries/ImageMagick-6.8.8-1-Q16-x86-dll.exe

  2. 下载php_imagick.dll并复制到扩展名dir(c:\ xampp\php\ext)

    http://www.peewit.fr/imagick/php55/vc11/x86/ts/php_imagick.dll

  3. 编辑php.ini文件并添加新扩展名(c:\ xampp\php\php.ini)

    延长= php_imagick.dll

  4. 保存ini文件并重启Apache(如有必要,重启Windows)

  5. 启动Apache并运行测试

当我启动Apache时,我会看到一个弹出框,显示:

程序无法启动,因为您的计算机缺少php5.dll.尝试重新安装该程序以解决此问题.

然后直接在另一个之后:

PHP启动:无法加载动态库'C:\ xampp\php\ext\php_imagick.dll' - 找不到指定的模块.

根据funtioneer我怀疑某种编译错误.

现在我有PHP版本5.5.6(xampp 1.8.3)与编译器MSVC11,它与php_imagick.dll文件相同.

是从源代码下载ImageMagick并以自己正确的方式编译它吗?(以前从未在Windows中编译过)

php windows imagemagick imagick windows-7

18
推荐指数
3
解决办法
6万
查看次数

子类继承父常量,如果是,我如何访问它们?

问题说的都是真的.

我在父类中定义了常量.我试过了,$this->CONSTANT_1但它不起作用.

class MyParentClass{

    const CONSTANT_1=1
}

class MyChildClass extends MyParentClass{

 //want to access CONSTANT_1  

}
Run Code Online (Sandbox Code Playgroud)

php oop class

18
推荐指数
3
解决办法
9498
查看次数

教义的多对多自我引用和互惠

默认情况下,ManyToManyDoctrine 下的自引用关系涉及拥有方和反方,如文档中所述.

有没有办法实现双方之间没有差异的互惠协会?

按照文档中的示例:

<?php
/** @Entity **/
class User
{
    // ...

    /**
     * @ManyToMany(targetEntity="User")
     **/
    private $friends;

    public function __construct() {
        $this->friends = new \Doctrine\Common\Collections\ArrayCollection();
    }

    // ...
}
Run Code Online (Sandbox Code Playgroud)

因此,加入entity1entity2小号friends 意味着entity2会在entity1朋友.

php doctrine many-to-many doctrine-orm

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

PHP - 如何在数组中找到重复的值分组

我有一个字符串值数组,有时会形成重复值模式('a','b','c','d')

$array = array(
    'a', 'b', 'c', 'd',
    'a', 'b', 'c', 'd',
    'c', 'd',
);
Run Code Online (Sandbox Code Playgroud)

我想根据数组顺序找到重复的模式,并按相同的顺序对它们进行分组(以维护它).

$patterns = array(
    array('number' => 2, 'values' => array('a', 'b', 'c', 'd')),
    array('number' => 1, 'values' => array('c'))
    array('number' => 1, 'values' => array('d'))
);
Run Code Online (Sandbox Code Playgroud)

请注意,[a,b],[b,c]和[c,d]本身不是模式,因为它们位于较大的[a,b,c,d]模式和最后的[c,d]集合中只出现一次因此它也不是一种模式 - 只是个别值'c'和'd'

另一个例子:

$array = array(
    'x', 'x', 'y', 'x', 'b', 'x', 'b', 'a'
  //[.......] [.] [[......]  [......]] [.]
);
Run Code Online (Sandbox Code Playgroud)

哪个产生

$patterns = array(
    array('number' => 2, 'values' => array('x')),
    array('number' => 1, 'values' => array('y')),
    array('number' => …
Run Code Online (Sandbox Code Playgroud)

php arrays pattern-matching

18
推荐指数
3
解决办法
1240
查看次数

没有找到碳/碳类

我最近在我的Laravel 4网站上添加了一个包,现在任何使用Eloquent(或者至少是Eloquent以及对日期/时间的引用)的任何内容都显示500错误,指出:

Class 'Carbon\Carbon' Not Found.
Run Code Online (Sandbox Code Playgroud)

我试过跑步

composer install
composer update
composer dump-autoload
Run Code Online (Sandbox Code Playgroud)

php composer-php laravel-4 php-carbon

18
推荐指数
7
解决办法
6万
查看次数

PDO :: __ construct():php_network_getaddresses:getaddrinfo failed:名称或服务未知

Stack Overflow上有关于此主题的大量问题,但它们都不符合我的情况.

我使用的是带有PHP 5.4.7的Lampp,它运行正常,直到我用PHP开发了我的第一个PDO程序.

我用的时候

$con=new PDO("mysql:host='localhost';dbname='data';charset=utf8",'root','');

连接我得到这个错误.我需要在php.ini中激活一些东西吗?

php pdo

18
推荐指数
2
解决办法
4万
查看次数

如何获取Laravel 4中通过POST发送的文件内容?

我在Laravel 4中有一个通过POST方法发送文本文件的表单.然而,在Controller中,我无法弄清楚如何获取其内容以便将其放入DB中的BLOB字段.

Laravel的文档和我在网上找到的所有帖子总是展示如何使用该->move()方法将内容保存到文件中.

这是我在Controller中的代码:

$book = Books::find($id);
$file = Input::file('summary'); // get the file user sent via POST
$book->SummaryText = $file->getContent(); <---- this is the method I am searching for...
$book->save(); // save the summary text into the DB
Run Code Online (Sandbox Code Playgroud)

(SummaryText是我的数据库表上的MEDIUMTEXT).

那么,如何在Laravel 4.1中获取文件内容,而不必将其保存到文件中?那可能吗?

php laravel-4

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

如何在Codeigniter中加入三个表

我正在使用codeigniter框架来开发一个音乐cms.我在mysql数据库中有3个表,目前我在"相册"表和"模型,控制器"中工作.我想选择"专辑"表1并加入"专辑" - >"cat_id"和"类别" - >"cat_id",并获取所有类别记录.

然后我想在"Soundtrack" - >"album_id"上加入"专辑" - >"album_id",然后获取所有音轨记录A到Z.

请有人帮我显示正确的codeigniter查询,如何SELECT和JOIN表然后从3个表中获取记录,?

表1 - >类别

  • CAT_ID

  • cat_name

  • cat_title
  • 日期

    表2 - >专辑

  • CAT_ID
  • album_id

  • ALBUM_TITLE

  • album_details

    表3 - >原声带

  • album_id

  • TRACK_TITLE

  • track_url
  • 日期

php mysql join codeigniter

18
推荐指数
3
解决办法
9万
查看次数