上传文件

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 = ; //脚本最长的执行时间 单位为秒
max_input_time = ; //接收提交的数据的时间限制 单位为秒
memory_limit = 2048M; //最大的内存消耗

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

Array ( [file] => Array ( [name] => .png [type] => image/png [tmp_name] => D:\wamp\tmp\php36FE.tmp [error] =>  [size] =>  ) )

5、上传的文件会临时存在于D:\wamp\tmp在这个文件夹,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方式获取

Ajax——php基础知识(三)的更多相关文章

  1. java 基础知识三 java变量

    java  基础知识 三 变量 1.作用域 {} 包围起来的代码 称之为代码块,在块中声明的变量只能在块中使用 2.常量 就是固定不变的量,一旦被定义,它的值就不能再被改变. 3.变量 变量必须在程序 ...

  2. Python基础知识(三)

    Python基础知识(三) 一丶整型 #二进制转成十进制的方法 # 128 64 32 16 8 4 2 1 1 1 1 1 1 1 例如数字5 : 101 #十进制转成二进制的方法 递归除取余数,从 ...

  3. C# 基础知识 (三).主子对话框数值传递

    在C# winform编程中,我们经常会遇到不同窗口间需要传递数值的问题.比如数据库的应用,主窗口填写内容num1,点击按钮,在弹出的子窗口显示对应num1值;或者在子窗口填写新注册用户名信息,在主窗 ...

  4. 快速掌握JavaScript面试基础知识(三)

    译者按: 总结了大量JavaScript基本知识点,很有用! 原文: The Definitive JavaScript Handbook for your next developer interv ...

  5. Dapper基础知识三

    在下刚毕业工作,之前实习有用到Dapper?这几天新项目想用上Dapper,在下比较菜鸟,这块只是个人对Dapper的一种总结. Dapper,当项目在开发的时候,在没有必要使用依赖注入的时候,如何做 ...

  6. Ajax——异步基础知识(三)

    封装异步请求 1.将函数作为参数进行使用 2.因为获取数据是在一个注册事件中获取的,所以只有事件触发的时候才会调用此函数 <!DOCTYPE html> <html lang=&qu ...

  7. Java的基础知识三

    一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...

  8. Ajax——异步基础知识(一)

    基础概念 1.异步请求可以做到偷偷向服务器发送请求,而页面却不刷新 2.get异步请求传递参数是通过url追加键值对的方式 3.post异步请求比较特殊,需要设置请求的类型 User-Agent:浏览 ...

  9. Ajax——php基础知识(一)

    AMP环境 AMP(Apache.MySQL.PHP)是三个独立的软件,但是对于初学者而言分别安装以及配置需要掌握一定的软件知识,所以就有了很多AMP集成环境帮助我们简化安装 ——WAMP WAMP安 ...

随机推荐

  1. Linux下汇编语言学习笔记35 ---

    这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...

  2. 洛谷—— P2049 魔术棋子

    https://www.luogu.org/problem/show?pid=2049 题目描述 在一个M*N的魔术棋盘中,每个格子中均有一个整数,当棋子走进这个格子中,则此棋子上的数会被乘以此格子中 ...

  3. 1267 老鼠的旅行 2012年CCC加拿大高中生信息学奥赛

    1267 老鼠的旅行  2012年CCC加拿大高中生信息学奥赛 题目描述 Description You are a mouse that lives in a cage in a large lab ...

  4. Mcrouter-基于Memcached协议的缓存层流量管理工具(Memcached集群的另一个选择)(转)

    Mcrouter 是一个基于Memcached协议的路由器,它是 Facebook缓存架构的核心组件,在峰值的时候,它能够处理每秒50亿次的请求.近日,Facebook开放了Mcrouter的源代码, ...

  5. token的生成规则

    1.token生成规则要添加时间戳,timestamp,以便解析token时,可以根据判断时间超过30分钟不予处理.像session过期时间一样.

  6. 相当精简的CentOS个人桌面版--从CentOS6.3 32b-mini版開始(mini版过程略)

    利用网络实现相当精简的CentOS个人桌面版--从CentOS6.3 32位mini版開始(mini版过程略).升级后即是CENTOS6.5. 特别感谢163网易的镜像空间[http://mirror ...

  7. iOS 打开扬声器以及插入耳机的操作

    废话不多说说一下现状 网上好多关于扬声器的操作,可是问题多多.SDK7.X 和SDK7.X以上版本号有点诧异 #import <Foundation/Foundation.h> #impo ...

  8. Javascript中双等号(==)隐性转换机制 JS里charCodeAt()和fromCharCode()方法拓展应用:加密与解密

    Javascript中双等号(==)隐性转换机制   在Javascript中判断相等关系有双等号(==)和三等号(===)两种.其中双等号(==)是值相等,而三等号(===)是严格相等(值及类型是否 ...

  9. oc const 关键字 对指针的理解

    /* int const *p; *p是常量, p是变量 const int *p; *p是常量, p是变量 int * const p; *p是变量, p是常量 const int * const ...

  10. 利用 gnuplot_i 在你的 c 程序中调用 GNUPLOT

    这是一篇非常早曾经写的小文章,最初发表于我的搜狐博客(2008-09-23 22:55).由于自从转移到这里后,sohu 博客就不再维护了,所以把这篇文章也一起挪了过来. GNUPLOT 是一款功能强 ...