zoukankan      html  css  js  c++  java
  • Ajax——php基础知识(三)

    上传文件

    1、get是传不了文件的,只能用post

    2、enctype需要重新设置,默认是application/x-www-form-urlencoded,会在发送到服务器之前,所有字符都会进行编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值)

    application/x-www-form-urlencoded    //在发送前编码所有字符(默认)
    multipart/form-data                  //不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。
    text/plain                           //空格转换为 "+" 加号,但不对特殊字符编码。

    3、修改上传文件大小设置,在php中的php.ini中进行修改


    //
    设置文件上传大小 file_uploads = On; // 是否允许上传文件 On/Off 默认是On upload_max_filesize = 1024M ; //上传文件的最大限制 post_max_size = 1024M; //通过Post提交的最多数据 //考虑网络传输快慢,这里修改一些参数 max_execution_time = 30000; //脚本最长的执行时间 单位为秒 max_input_time = 6000; //接收提交的数据的时间限制 单位为秒 memory_limit = 2048M; //最大的内存消耗

     4、利用print_r方法可以输出变量的详细内容,打印服务器接收到的数据$_FILSE,会有一个关系型数组,关系型数组中的值是一个标准的数组,需要记住的是【name】、【tmp_name】数据临时存放位置

    Array ( [file] => Array ( [name] => 2701.png [type] => image/png [tmp_name] => D:wamp	mpphp36FE.tmp [error] => 0 [size] => 5232 ) )

    5、上传的文件会临时存在于D:wamp mp在这个文件夹,move_uploaded_file可以永久保存文件到指定文件夹

    <?php
        header("content-type:text/html;charset=utf-8");
        print_r($_FILES);
        sleep(3);//单位秒,可以在临时存放文件的地方短暂的看到文件
        $file=$_FILES['file'];//获取上传的文件
        $fileName=$file['name'];//获取文件名
        $filePath=$file['tmp_name'];//获取文件临时存放地址
        move_uploaded_file($filePath,'files/'.$fileName);//将文件保存,第二个参数是相对路径
    ?>

     检查数据

    1、in_array():检查数据中是否存在此数据

    $nameArr = array('jack','rose','iceMountain','boat');
    $result = in_array($name,$nameArr);//参数1请求发送的数据,参数2数组

    2、array_key_exists():检查提交数据是否为空

    if(array_key_exists('name', $_GET)){
        //如果有数据 再去读取
    }else{
        // 反之 可以执行一些 其他的逻辑
    }

     随机返回

    1、array_rand() :返回数组中的随机键名,或者如果您规定函数返回不只一个键名,则返回包含随机键名的数组。

    <?php
    $a=array("red","green","blue","yellow","brown");
    $random_keys=array_rand($a,3);
    echo $a[$random_keys[0]]."<br>";
    echo $a[$random_keys[1]]."<br>";
    echo $a[$random_keys[2]];
    ?>

     读取文件

    1、file_get_contents():整个文件读入一个字符串中

    <?php
    echo file_get_contents("test.txt");
    ?>

     字符与对象

    1、json_decode:将json字符转为指定php格式,[]=>php关系型数组,{}=》php对象

    <?php
      header("content-type:text/html;charset=utf-8");
      $jsonStr1='["萨瓦迪卡","阿尼阿瑟哦","hello","滚犊子"]';
      $jsonStr2='{"name":"zs1","age":17,"sex":"nan"}';
      $jsonStr3='[{"name":"zs1","age":17,"sex":"nan"},{"name":"zs2","age":17,"sex":"nan"}]';
      $chatArr1=json_decode($jsonStr1);
      $chatArr2=json_decode($jsonStr2);
      $chatArr3=json_decode($jsonStr3);
      print_r($chatArr1);//Array ( [0] => 萨瓦迪卡 [1] => 阿尼阿瑟哦 [2] => hello [3] => 滚犊子 )
      print_r($chatArr1);//stdClass Object ( [name] => zs1 [age] => 17 [sex] => nan )
      print_r($chatArr3);//Array ( [0] => stdClass Object ( [name] => zs1 [age] => 17 [sex] => nan ) [1] => stdClass Object ( [name] => zs2 [age] => 17 [sex] => nan ) )
    ?>

    2、json_encode:将php转为指定json字符串

    <?php
      header("content-type:text/html;charset=utf-8");
      $arr=array('name','age','sex');
      print_r(json_encode($arr));//["name","age","sex"]
    ?>

    数组长度

    count($randomkeysArr)//for循环中数组长度不能用.length方式获取
  • 相关阅读:
    数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
    现代 PHP 新特性系列(六) —— Zend Opcache
    Apache配置参数详解
    Git的常用命令
    PHP如何防止XSS攻击
    CSRF的防御实例(PHP)
    Web安全之CSRF攻击
    PHP五种常见的设计模式
    PHP四种基础算法详解
    php遍历文件的5种方式
  • 原文地址:https://www.cnblogs.com/wuqiuxue/p/8134530.html
Copyright © 2011-2022 走看看