php学习笔记:上传
2017-02-08 15:48
253 查看
感觉使用一段thinkphp框架后,虽然这个框架很多人认可,但是对基础而言其实一点帮助都没有。反而增加负担。 我个人感觉对这个框架其实不是太喜欢。主要是我不熟悉的缘故,使用起来比较吃力。
今天开始回归一些比较基础内容记录一些基础。之前因为上传图片调用开源类发现没有了解到原来图片的含义导致使用上出现很多问题。
下面记录一下笔记:
1.图片上传的类型检测
2.图片大小检测
图片上传的类型,编写图片类型检测,这里会用数组去检测是否有对应的类型。
图片大小判断。下面这个程序还没加上去。只有判断上传的大小是否满足即可。
使用 move_uploaded_file 的时候,一开始把一个http://xxx.com.cn/images 这样的链接 填写进去,发现怎么不行,貌似这个只能填写文件夹的路径。在window下,可以填写相对和绝对路径
linux下,相对路径没多大问题。还没测试像usr/local/images 这样的路径 不知道是否可以成功。linux对图片文件夹下创建文件夹还要做授权。
上传过程常用的要知道的点。
FILES[“file”][“size”]大小_FILES[“file”][“type”] 类型
FILES[“file”][“name”]文件名_FILES[“file”][“tmp_name”] 临时文件名
$_FILES[“file”][“error”] 错误
上传表单提交 要加上 enctype=”multipart/form-data” 属性值
这里使用input 的file类型处理。
今天开始回归一些比较基础内容记录一些基础。之前因为上传图片调用开源类发现没有了解到原来图片的含义导致使用上出现很多问题。
下面记录一下笔记:
1.图片上传的类型检测
2.图片大小检测
图片上传的类型,编写图片类型检测,这里会用数组去检测是否有对应的类型。
图片大小判断。下面这个程序还没加上去。只有判断上传的大小是否满足即可。
使用 move_uploaded_file 的时候,一开始把一个http://xxx.com.cn/images 这样的链接 填写进去,发现怎么不行,貌似这个只能填写文件夹的路径。在window下,可以填写相对和绝对路径
linux下,相对路径没多大问题。还没测试像usr/local/images 这样的路径 不知道是否可以成功。linux对图片文件夹下创建文件夹还要做授权。
上传过程常用的要知道的点。
FILES[“file”][“size”]大小_FILES[“file”][“type”] 类型
FILES[“file”][“name”]文件名_FILES[“file”][“tmp_name”] 临时文件名
$_FILES[“file”][“error”] 错误
<?php if(isset($_FILES["file"])) { //打印相关的文件信息 $file = $_FILES["file"]; //检测是否是符合的图片类型 $types = array("jpg","gif","jpeg","png"); //获取图片类型 $imgType = substr(strrchr($file['name'], '.'), 1); //检测类型是否存在 if(!in_array(strtolower($imgType),$types)) { $text = implode(",",$types); echo "您只能上传以下类型文件: ",$text,"<br>"; return; } //移动位置 if(is_uploaded_file($file['tmp_name'])) { $floder = date("Y-m-d"); $storeUrl = '../images/'.$floder.'/'; $randomName = time().mt_rand(1000,9999).".".$imgType;//拼接一下新的名字 if (!file_exists($storeUrl)) { mkdir ($storeUrl); } $storeUrl = $storeUrl.$randomName; if(move_uploaded_file($file['tmp_name'], $storeUrl)) { echo "<script type='text/javascript' >alert('上传成功')</script>"; } else { echo "<script type='text/javascript' >alert('上传失败')</script>"; } } else { echo "<script type='text/javascript' >alert('上传失败')</script>"; } } ?>
上传表单提交 要加上 enctype=”multipart/form-data” 属性值
这里使用input 的file类型处理。
<html> <head> <title>文件上传实例</title> </head> <body> <form method="post" action="upload.php" enctype="multipart/form-data"> <input name="file" type="file" value="浏览" > <input type="hidden" name="MAX_FILE_SIZE" value="2000000"> </label> <input type="submit" value="上 传" name="upload"> </form> </body> </html>
相关文章推荐
- jrtplib使用CMake进行编译
- PHP的抽象类、接口的区别和选择
- php从身份证获取性别和出生年月
- php学习笔记
- 用curl post 调用接口
- PHP 中for循环的一个小小改进
- 使用PHP魔术方法实现属性的set、get方法
- EditPlus 使用技巧以及快捷键
- Yii2框架 数据库常用操作
- 【PHP】浅谈生成随机密码的方法
- AES加密php,java,.net三种语言同步实现加密、解密
- windows 下 安装PHP 扩展 xdebug 调试工具
- joomla错误 Fatal error: Call to undefined function simplexml_load_file() 解决办法!
- DEDE PHP 标签 获取全局 PHP标签获取模板路径cfg_templets_skin
- PHP isset()与empty()的使用区别
- laravel 发送邮件
- 留言板v1.1(加了界面美化和内容检查。php+mysql)
- PHP+Ajax无刷新带进度条图片上传示例
- 关于YII2如何修改默认控制器的问题
- Thinkphp查询控制字段和查询一条