标签存档: php

php 简单的对称加密

<?php

header("content-type:text/html;charset=utf-8");

/**
*@param $string目标字符串
*@param $key 加密key
*@return string
*/
function encryption($string="",$key="cxphp"){
//str_split把字符串分割到数组中
$strArr = str_split(base64_encode($string));
$strcount = count($strArr);
foreach(str_split($key) as $key=>$value){
$key < $strcount && $strArr[$key].= $value;
return str_replace(array('=','+','/'), array('O0O0O', 'o000o', 'oo00o'), join($strArr));
}
}

/**
*@param $string 解析字符串
*@param $key 揭秘到key
*@return string
*/
function deciphering($string='',$skey='cxphp'){
$strArr = str_split(str_replace(array('O0O0O', 'o000o', 'oo00o'), array('=', '+', '/'), $string), 2);
$strCount = count($strArr);
foreach (str_split($skey) as $key => $value)
$key <= $strCount && @$strArr[$key][1] === $value && $strArr[$key] = $strArr[$key][0];
return base64_decode(join($strArr));
}

$a = encryption('这是我的一条测试数据');
var_dump($a);

$a = '6cLo000oZ5piv5oiR55qE5LiA5p2h5rWL6Ko000oV5pWw5o2u';

$b = deciphering($a);
var_dump($b);

php 批量重命名文件

如何用php批量重命名文件

/**
 * php 批量重命名文件
 *
 * @return void
 */
function renamefiles()
{
    $paths = "/path";
    $d = dir($paths);
    while (false !== ($entry = $d->read())) {

        if($entry == '.' || $entry == '..'){

        } else {

        }

        if(strpos($entry, '.mp4')){
            // echo $paths.$entry;
            // echo "原 ".$entry;

            echo "<br>";

            // $newname = strtr($entry, '-t=18121111.htm', '');  
            /*把字符串 "Hello world!" 中的字符 "world" 替换为 "Shanghai":
                echo str_replace("world","Shanghai","Hello world!");
                substr(string,start,length)*/

            $newname = substr($entry, 0, 2).".mp4";

            echo $newname;

            echo "<br>";       

            rename($paths.$entry, $paths.$newname);
        }


    }
    $d->close();
    echo "done";
}

文本含有单双引号时,insert进mysql数据库的处理方法

addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。

Laravel – CSRF token禁用方法

[PHP] – Laravel – CSRF token禁用方法:
方法一
打开文件:app\Http\Kernel.php

把这行注释掉:

‘App\Http\Middleware\VerifyCsrfToken’

php回调函数接收数据常用变量

$GLOBALS[‘HTTP_RAW_POST_DATA’]
如果是json格式可以用下面这个来解析
$a= json_decode($GLOBALS[‘HTTP_RAW_POST_DATA’], true);

php判断GET/POST参数是否存在

php判断GET/POST参数是否存在

if(is_array($_GET)&&count($_GET)>0)//先判断是否通过get传值了
    {
        if(isset($_GET["m"]))//是否存在"m"的参数
        {
           $market = $_GET['m'];//存在
        }
    }else
    {
    echo "没有通过get传值";
    }

php绕开ssl验证&获取包含headers的所有response

<?php
$curl = curl_init();
$url= "https://testapi.xxxx.author/signin";
$email = $_POST["email"];
$pwd = $_POST["password"];
curl_setopt_array($curl, array(
  CURLOPT_URL => $url,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "email=".$email."&password=".$pwd,
  CURLOPT_HTTPHEADER => array(
    "cache-control: no-cache",
    "content-type: application/x-www-form-urlencoded",
    "postman-token: 1ebc8292-5e01-a6fa-9f91-26d3126892e0"
  ),
));

curl_setopt($curl, CURLOPT_HEADER, true);//get all respose include headers & body
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); //pass https ssl verification

//$result = curl_getinfo($curl, CURLINFO_HTTP_CODE);
//$headers = apache_request_headers();
$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
?>

php判断GET/POST参数是否存在

[code]
if(is_array($_GET)&&count($_GET)>0)//先判断是否通过get传值了
{
if(isset($_GET["m"]))//是否存在"m"的参数
{
$market = $_GET[‘m’];//存在

}
}else
{
echo "没有通过get传值";
}
[/code]

最简单的php写入数据库

最简单的php写入数据库,小程序测试用

<?php

  function writetosql(){
      $servername = "localhost";
        $username = "root";
        $password = "123456";
        $dbname = "test";
        $ts = time();

        $fname = $_POST["name"];
        $type = $_POST["tt"]; 
        $note = $_POST["note"]?$_POST["note"]:"小懒虫";

        // 创建连接
        $conn = new mysqli($servername, $username, $password, $dbname);
        // 修改数据库连接字符集为 utf8
        mysqli_set_charset($conn,"utf8");
        // 检测连接
        if ($conn->connect_error) {
            die("连接失败: " . $conn->connect_error);
        } 

        $sql = 'INSERT INTO test(fname,type,note,time)VALUES("'.$fname.'","'.$type.'","'.$note.'","'.

$ts.'")';
        //echo $sql;

        if ($conn->query($sql) === TRUE) {
            echo "新记录插入成功";
        } else {
            echo "Error: " . $sql . "<br>" . $conn->error;
        }

        $conn->close();

  }
?>

xampp httpd-vhosts.conf配置多个虚拟目录

1: 用记事本打开C:/WINDOWS/system32/drivers/etc/hosts文件,配置如下:

127.0.0.1 localhost
127.0.0.1 phptest.com

2:因为我xampp是装在C盘的:用记事本打开C:\xampp\apache\conf\httpd.conf文件,找到Include conf/extra/httpd-vhosts.conf,确认前面没有加#.
2.1找到
[code]
<Directory />
AllowOverride none
Require all denied
</Directory>
[/code]
修改权限,变成:
[code]
<Directory />
Order deny,allow
Allow from all
</Directory>
[/code]

2.2在此文件末尾添加如下内容:
[code]
<Directory "D:/eclipse-php/workspace">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
[/code]

3:打开C:\xampp\apache\conf\extra\httpd-vhosts.conf,在此文件末尾添加如下内容:
[code]
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/"
ServerName localhost
</VirtualHost>

<VirtualHost *:80> //如果配置不同的端口号88,则需要在httpd.conf里面添加 Listen 88
DocumentRoot "D:/eclipse-php/workspace"
ServerName phptest.com
</VirtualHost>
[/code]

5:重启Apache服务即可。