小编Fun*_*ner的帖子

具有静态方法回调的Set_error_handler

RTM但是我找不到任何关于这个问题的好答案,所以这就是:

  • 我可以将静态方法称为错误处理程序(例如:) set_error_handler('error::function')吗?
  • 推荐吗?

php oop error-handling

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

唤醒有效的局域网脚本

在使用网络语言的局域网上是否有唤醒,最好使用php?还有一个有关如何让它工作的文档,如需要在服务器上启用的等等

php wake-on-lan

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

php trait使用另一个特性

我有一个使用另一个特征的特征,现在我收到了关于类中不存在的函数的错误.我简化了代码:

settings.php配置:

<?php
trait settings{
    protected function getSetting($type, $setting){ // read setting from config.ini
        try{
            $configFile=dirname(__FILE__)."/../config.ini";
            if(!file_exists($configFile)||!is_file($configFile))throw new Exception("Config file was not found. ");
            $configContents=parse_ini_file($configFile,true);
            if(is_array($configContents)&&array_key_exists($type,$configContents)&&is_array($configContents[$type])&&array_key_exists($setting,$configContents[$type]))return $configContents[$type][$setting];
            else throw new Exception("Setting ".$setting." could not be found in ".$type.".");
        }
        catch(Exception $e){throw new Exception($e->getMessage());}
    }
}
?>
Run Code Online (Sandbox Code Playgroud)

为database.php

<?php
trait database{
    use settings,session;
    private $pdo;
    protected function connect(){ // connect to database
        try{
            $this->pdo=new PDO("mysql:host=".$this->getSetting("db","host").";dbname=".$this->getSetting("db","database"),$this->getSetting("db","user"),$this->getSetting("db","password"));
            $this->init();
        }
        catch(PDOException $e){throw new Exception($e->getMessage());}
    }
}
?>
Run Code Online (Sandbox Code Playgroud)

users.php

<?php
class users{
    use database;
    public …
Run Code Online (Sandbox Code Playgroud)

php oop class traits

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

Mysql排序合并的值

我有3个mysql表(动物,类别和animal_2_category).每只动物都可以有0-n类别(例如鱼类,宠物,昆虫,食肉动物,"可以飞行"等).

表"动物"(id,name)

1, dog
2, cat
3, bee
...
Run Code Online (Sandbox Code Playgroud)

表"类别"(id,name)

1, pet
2, insect
3, mammal
4, fish
5, can fly
...
Run Code Online (Sandbox Code Playgroud)

表"animal_2_category"(animal_id,category_id)

1, 1
1, 3
2, 1
2, 3
3, 2
3, 5
...
Run Code Online (Sandbox Code Playgroud)

我现在需要的是所有类别组合的列表.以下查询有效:

SELECT CONCAT_WS("-", x.name, c.name)
FROM animal_2_category a2c1 
    JOIN animal_2_category a2c2 ON a2c1.animal_id = a2c2.animal_id
    JOIN category c ON c.id = a2c2.category_id´
    JOIN categories x
GROUP BY a2c2.category_id
Run Code Online (Sandbox Code Playgroud)

此查询将返回以下内容:

  • 宠物哺乳动物
  • 哺乳类宠物
  • 昆虫可以飞

这个问题是,我得到了"宠物哺乳动物"和"哺乳动物宠物".如何修改查询,只获取其中一个,例如:

  • 宠物哺乳动物
  • 昆虫可以飞

php mysql

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

自定义 404 为 php 文件显示“找不到文件”而不是重定向

我正在尝试创建自定义 404 错误页面。

到目前为止,我对所有不存在的文档、文件夹、图像、html 等都非常有效 - 打开我的自定义 404 页面(输出自定义 404!

但是,当我尝试访问.php扩展名不存在的文件时,我得到了这个:

404响应

...在屏幕上显示“找不到文件”,而不是被重定向到我的 404 文档。

我的.htaccess

RewriteEngine On
ErrorDocument 404 /404.php
Run Code Online (Sandbox Code Playgroud)

我的 404.php

<?php

header("HTTP/1.0 404 Not Found");
include '404.html';
die();

?>
Run Code Online (Sandbox Code Playgroud)

我的 404.html

<!DOCTYPE html>
<html>
<head>
<title>Custom 404 | Not found!</title>
</head>
<body>

Custom 404!

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

编辑

更清楚地了解这里发生的事情。

我相信路径和 .htaccess 工作得很好,但是 php 必须有一些技巧。以下是几个例子:

当我尝试打开服务器上不存在的一些文件时:

  • myurl.com/folderthatdoesntexist/ -> 打开正确的 404 / 响应自定义 404!
  • myurl.com/imagethatdoesntexist.jpg -> 打开正确的 404 / 响应自定义 404!
  • myurl.com/htmlthatdoesntexist.html -> 打开正确的 404 …

php apache .htaccess vps http-status-code-404

9
推荐指数
2
解决办法
3313
查看次数

在PHP中模拟不同的服务器日期时间

是否有可能让PHP应用程序认为服务器日期时间被大的可配置量(如6个月前或6个月后)所抵消?

背景:我们有一个处理体育赛事的网络应用程序,现在我们希望在我们的开发环境中运行它,使网站认为它是2009年秋季而不是2010年夏季.这是因为我们有很好的数据来自去年的秋季和今年的季节尚未开始,因此使用大量实际数据测试新功能将更容易,而不是编制2010年的新测试数据.

我们不想实际更改服务器的日期和时间.当前最佳选项似乎是将代码中的所有date()调用更改为my_date(),然后让my_date()将偏移量添加到实际系统日期.

看起来这个功能在其他人的类似情况下会很有用,所以我很好奇是否有更简单的方法通过一些配置参数全局完成而不修改代码.我做了RTM.

php datetime

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

使用'"'附件输出到CSV

我想输出一个查询到csv文件,其中包含"所有字段周围的外壳.

下列:

header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename='.$strFeederFileName.'');

$output = fopen('php://output', 'r+');
$fileheader = array( "FH", "READY TO PAY", "RTP060620134", "060620134RWKN", "");
fputcsv($output, $fileheader, ",", '"');
Run Code Online (Sandbox Code Playgroud)

输出:

FH,"准备支付",RTP060620134,060620134RWKN

但我需要它:

"FH","准备支付","RTP060620134","060620134RWKN"

任何想法为什么它没有添加到字段的附件1, 3 & 4

php csv

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

规范化阿拉伯语文本mysql

我在mysql中搜索阿拉伯语文本时遇到问题.我在数据库中有一行包含记录

display_name
????
Run Code Online (Sandbox Code Playgroud)

但是当我尝试用查询进行查询时

SELECT * FROM wp_users WHERE display_name LIKE '%????%'
Run Code Online (Sandbox Code Playgroud)

我试图在查询结束时添加

collate utf8_bin
Run Code Online (Sandbox Code Playgroud)

但它也没有用.我怎么能

???? == ????
Run Code Online (Sandbox Code Playgroud)

php mysql wordpress arabic diacritics

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

在PHP中,如果(\ false)(是的,使用反斜杠)是什么意思?

今天早上,我收到了一条新的Twig_Extensions版本的通知!好极了!

在将它整合到twigfiddle之前,我想看到变化.这主要是使用class_alias函数添加对名称空间的支持,然后添加仅包含旧版本的PSR-4对应类.

但是每个新的(命名空间)类都是这样实现的:

<?php

namespace Twig\Extensions;

require __DIR__.'/../lib/Twig/Extensions/Extension/Text.php';

if (\false) {
    class TextExtension extends \Twig_Extensions_Extension_Text
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

这种符号是什么意思?

php namespaces

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

编辑表单以清理/验证电话号码

我对PHP的经验非常有限,我真的希望有人可以帮助我.

我想要做的是清理/验证电话号码输入,以便只允许号码.

我想我需要使用,FILTER_SANITIZE_NUMBER_INT但我不知道在哪里或如何使用它.

这是我的代码:

<?php

// Replace the email address with the one that should receive the contact form inquiries.
define('TO_EMAIL', '########');

$aErrors = array();
$aResults = array();

/* Functions */

function stripslashes_if_required($sContent) {

    if(get_magic_quotes_gpc()) {
        return stripslashes($sContent);
    } else {
        return $sContent;
    }
}

function get_current_url_path() {

    $sPageUrl = "http://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    $count = strlen(basename($sPageUrl));
    $sPagePath = substr($sPageUrl,0, -$count);
    return $sPagePath;
}

function output($aErrors = array(), $aResults = array()){ // Output JSON

    $bFormSent = empty($aErrors) ? true : false; …
Run Code Online (Sandbox Code Playgroud)

php forms email filter-var

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