密码中的单双引号不起作用

时间:2019-02-15 09:08:12

标签: php

我正在尝试使用php sftp连接功能连接到我的一台SFTP服务器,但是密码具有单引号和双引号,这使我无法连接到服务器。

$sftp = new SFTPConnection("sftp.clientname.com", 22);
$connection = $sftp->login("client_name", "*agjTN2&'u`"K"h[7+?");

我尝试将mysql_real_escape_string函数添加到密码中,但对我不起作用

有人可以帮我吗?

2 个答案:

答案 0 :(得分:2)

您可以使用反斜杠\将双引号转义为

<?php
    echo "*agjTN2&'u`\"K\"h[7+?";
?>

以您为例:

$sftp = new SFTPConnection("sftp.clientname.com", 22);
$connection = $sftp->login("client_name", "*agjTN2&'u`\"K\"h[7+?");

答案 1 :(得分:2)

这是规则:

如果您的字符串介于带反斜杠\的字符串中的“ __ test __” (双引号)之前,则不需要在单引号前加上反斜杠。

$password = "*agjTN'2&u\"K\"h[7+?";
echo $password; // output : *agjTN'2&u"K"h[7+?

如果您的字符串在'__ test __'(单引号)之间,请执行相反的操作。

$password = '*agjTN\'2&u"K"h[7+?';
echo $password; // output : *agjTN'2&u"K"h[7+?