小编Jak*_*uld的帖子

仅当目录或文件不存在时才重写Rule

我正在尝试使用php和.htaccess创建一个url处理程序,我的问题是,只有在url中输入的文件\目录不存在时,我才知道如何使用重写条件.

php .htaccess redirect

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

删除所有内容,除了PHP中的字母数字和欧洲字符

我正在努力验证我的评论脚本,我需要删除除西欧使用的所有非字母数字字符.

我的计划是使用以下方法对所有非字母数字字符进行正则表达式:

preg_replace("/[^A-Za-z0-9 ]/", '', $string);
Run Code Online (Sandbox Code Playgroud)

但到目前为止,所有欧洲角色和一个£符号都被删除,因此"CaféRouge"变成了"Caf Rouge".

如何在上面的正则表达式中添加一组欧元字符.

该数组是:

£, €, 
á, à, â, ä, æ, ã, å,
è, é, ê, ë,
î, ï, í, ì,
ô, ö, ò, ó, ø, õ,
û, ü, ù, ú,
ÿ,
ñ,
ß
Run Code Online (Sandbox Code Playgroud)

我使用UTF-8

解:

$comment = preg_replace('/[^\p{Latin}\d\s\p{P}]/u', '', $comment);
Run Code Online (Sandbox Code Playgroud)

$name = preg_replace('/[^\p{Latin}]/u', '', $name);
Run Code Online (Sandbox Code Playgroud)

$ name aslo删除标点符号和空格

感谢您的快速回复

php regex alphanumeric latin1

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

如何将Base64 PNG转换为JPG图像?

我有这个Base64 PNG,我想解码到JPG.如果我转换为PNG它工作正常,使用:

list($type, $data) = explode(';', $data);
list(, $data)      = explode(',', $data);
$data = base64_decode($data);
file_put_contents('myDirectory/filename.png', $data);
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试将其保存为JPG,则使用(MyDirectory/filename.jpg)以黑白方式显示.

如何将其转换为JPG?这是我的Base64 PNG的一个例子:

data:image/png;base64,iVBORw0KGgoAAAANSUhE...
Run Code Online (Sandbox Code Playgroud)

php base64 png jpeg image

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

无法通过MAMP连接到MySQL

所以这是包含我的凭据的数组.

'mysql' => array(
    'host' => '127.0.0.1',
    'username' => 'root',
    'password' => '*',
    'db' => 's'
)
Run Code Online (Sandbox Code Playgroud)

和实际的连接

 try{
    $this->_pdo = new PDO('mysql:host=' . Config::get('mysql/host') . ';dbname=' . Config::get('mysql/db'),Config::get('mysql/username'),Config::get('mysql/username'));
}
catch(PDOException $e){
    die($e->getMessage());
}
Run Code Online (Sandbox Code Playgroud)

这就是我得到的错误

SQLSTATE [28000] [1045]拒绝访问用户'root'@'localhost'(使用密码:YES)

但我知道这意味着访问被拒绝,但凭据是100%正确的.我还通过命令行和工作台进行了测试.

php mysql mamp

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

从对象末尾删除"\ ufeff" - > Google+ API json结果中的内容

Google+ API的结果已\ufeff附加到每个"内容"结果的末尾(我真的不知道为什么?)

从json结果中删除此unicode字符的最佳方法是什么?它正在生成'?'一些我正在显示的输出.

例:

https://developers.google.com/+/api/latest/activities/get#try-it 
Run Code Online (Sandbox Code Playgroud)

输入活动ID

z12pvrsoaxqlw5imi22sdd35jwvkglj5204
Run Code Online (Sandbox Code Playgroud)

然后单击执行,结果将是:

{
 .....
 "object": {
  ......
  "content": "CONTENT OF GOOGLE PLUS POST HERE \ufeff",
  ......
Run Code Online (Sandbox Code Playgroud)

显示'?'的示例PHP代码 其中'\ ufeff'是:

<?php
$data = json_decode($result_from_google_plus_api, true);
echo $data['object']['content'];
// outputs "CONTENT OF GOOGLE PLUS POST HERE ?"
echo trim($data['object']['content']);
// outputs "CONTENT OF GOOGLE PLUS POST HERE ?"
Run Code Online (Sandbox Code Playgroud)

或者我是以错误的方式来做这件事的?我应该修理'?' 问题而不是试图删除'\ufeff'

php json google-plus

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

大型数据库的MySQL转储似乎比原始MySQL数据库本身少

我正在备份一个大小约为190 GB的数据库.我想将数据库备份到本地文件.这是我使用的命令:

mysqldump -u root -p tradeData > /db_backup/tradeData.sql
Run Code Online (Sandbox Code Playgroud)

我的机器上有足够的空间.我尝试了很多次没有错误,但我总是得到一个大小约为122GB的结果文件.

有没有人有备份大型数据库的经验?我的机器是Linux机器.

mysql database backup mysqldump

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

即使使用set_time_limit(0),php脚本也会停止

我看过其他10个帖子,其中的人似乎和我有同样的问题,大多数建议推杆set_time_limit(0);.但即便如此,无论我运行什么脚本,总是在大约9-10分钟之后它就会停止.

我曾尝试以下3个变量的这么多的组合,将它们设置为-1,0,9999999,总是停下来.不久前,我在下面运行了完全相同的脚本.而且有一天我对任何脚本都有这个问题.

我100%确定它在完成之前就已经停止了,并且由于错误而没有停止.因为我的任何脚本现在停止在相同的应用程序运行时.

非常沮丧,任何帮助将不胜感激.

在php.ini中:

max_input_time = -1
max_execution_time = 0
set_time_limit = 0
Run Code Online (Sandbox Code Playgroud)

另一个脚本:(也在10分钟后停止)

<?php
set_time_limit(0);
ignore_user_abort(true);
function categoryinsert($english, $name, $keywords, $language)
{
    if(!$english)
    {
        echo "no english recieved! in categoryinsert<br />";
        return 0;
    }
    else if(!$name)
    {
        echo "no name recieved! in categoryinsert<br />";
        return 0;
    }
    else if(!$language)
    {
        echo "no language recieved! in categoryinsert<br />";
        return 0;
    }
    $DBConnect = mysqli_connect("localhost", "USER***", "************");
    mysqli_set_charset($DBConnect, "utf8");
    mysqli_select_db($DBConnect, "db***");

    $qwry …
Run Code Online (Sandbox Code Playgroud)

php mysql

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

如何在php中包含文件后排除文件?

我们在里面添加一个文件Myfile.php:

require_once 'abc.php';
Run Code Online (Sandbox Code Playgroud)

要么

include_once 'abc.php';
Run Code Online (Sandbox Code Playgroud)

我们将如何删除文件?或者如何abc.php在某段代码之后停止访问文件内容?

php require-once php-include

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

错误:运行“bower install”时找不到模块“js-yaml”

我正在完成 AngularJS 应用程序的基本设置(刚刚开始),目前正在尝试为该应用程序安装 Bower 组件。

当我bower install从终端运行时,出现以下错误:

Error: Cannot find module 'js-yaml'
    at Function.Module._resolveFilename (module.js:337:15)
    at Function.Module._load (module.js:287:25)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (Path\bower\node_modules\configstore\index.js:9:12)
    at Module._compile (module.js:425:26)
    at Object.Module._extensions..js (module.js:432:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
Run Code Online (Sandbox Code Playgroud)

我没有js-yaml在我的脚本中的任何地方指定模块(据我所知),所以不确定这个依赖项来自哪里。

我尝试删除 node_modules 文件夹,清除 npm 缓存,包括js-yamlpackage.json文件中,然后重新运行 npm install,但在运行时出现相同的错误bower install

如果有帮助,我的bower.jsonpackage.json文件如下所示:

Bower.json

{
  "name": "starter-node-angular",
  "version": "1.0.0",
  "dependencies": {
    "bootstrap": "latest",
    "font-awesome": "latest", …
Run Code Online (Sandbox Code Playgroud)

node.js npm angularjs bower bower-install

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

由连字符和下划线连接的单词的正则表达式,同时保留标点符号

我一直在阅读、搜索和试用不同的方法来编写正则表达式,例如 p{L}、[az] 和 \w,但我似乎无法得到我想要的结果。

问题

我有一个由带有标点符号的完整句子组成的数组,我正在使用以下 pre_match 解析一个数组,它在保留单词和标点符号方面效果很好。

preg_match_all('/(\w+|[.;?!,:])/', $match, $matches)
Run Code Online (Sandbox Code Playgroud)

但是,我现在有这样的词:

  • 一个字另一个字
  • more_words_like_these

我希望能够保持这些单词的完整性(连接),但我当前的 preg_match 将它们分解为单个单词。

我试过的

preg_match_all('/(p{L}-p{L}+|[.;?!,:])/', $match, $matches)
Run Code Online (Sandbox Code Playgroud)

和;

preg_match_all('/((?i)^[\p{L}0-9_-]+|[.;?!,:])/', $match, $matches)
Run Code Online (Sandbox Code Playgroud)

我从这里找到的

但无法达到这个预期的结果:

Array ( [0] A, [1] word, [2] like_this, [3] connected, [4] ; ,[5] with-relevant-punctuation)
Run Code Online (Sandbox Code Playgroud)

理想情况下,我还可以考虑特殊字符,因为其中一些单词可能带有重音

php regex

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