当前位置: 首页 > news >正文

网站双线主机优势商城网站功能介绍

网站双线主机优势,商城网站功能介绍,wordpress 七牛视频教程,php网站建设平台搭建一、PHP 文件上传的相关知识对 PHP 文件上传的相关知识总结主要是参考老师演示的代码和 drawer.php(某大神写的 PHP 单文件版的服务器文件管理端)1. php 关于文件上传的配置文件上传项目项在php.ini中设置,常用的配置项有:序号配置项默认值描述1file_uploadsOn使 PHP 支持文件上…一、PHP 文件上传的相关知识对 PHP 文件上传的相关知识总结主要是参考老师演示的代码和 drawer.php(某大神写的 PHP 单文件版的服务器文件管理端)1. php 关于文件上传的配置文件上传项目项在php.ini中设置,常用的配置项有:序号配置项默认值描述1file_uploadsOn使 PHP 支持文件上传2upload_tmp_dir/tmp指示应该临时把上传的文件存储在什么位置3max_file_uploads20单次请求时允许上传的最大文件数量4max_execution_time30设置脚本被解析器终止之前 PHP 最长执行时间(秒) ,防止服务器资源被耗尽5max_input_time60设置 PHP 通过 POST/GET/PUT 解析接收数据的时长(秒)6memory_limit128M系统分配给当前脚本执行可用的最大内存容量7post_max_size8M允许的 POST 数据的总大小8upload_max_filesize32M允许的尽可能最大的文件上传2. 服务端超全局变量$_FILES上传文件的描述信息,全部保存在系统全局变量$_FILES中$_FILES以二维数组形式保存: $_FILES[form_file_name][key]form_file_name: 对应着表单中中name属性值key: 共有 5 个键名, 描述如下:序号键名描述1name文件在客户端的原始文件名(即存在用户电脑上的文件名)2type文件的 MIME 类型, 由浏览器提供, PHP 并不检查它3tmp_name文件被上传到服务器上之后,在临时目录中临时文件名4error和该文件上传相关的错误代码5size已上传文件的大小(单位为字节)文件上传错误信息描述序号常量值描述1UPLOAD_ERR_OK0没有错误发生,文件上传成功2UPLOAD_ERR_INI_SIZE1文件超过php.ini中upload_max_filesize值3UPLOAD_ERR_FORM_SIZE2文件大小超过表单中MAX_FILE_SIZE指定的值4UPLOAD_ERR_PARTIAL3文件只有部分被上传5UPLOAD_ERR_NO_FILE4没有文件被上传6UPLOAD_ERR_NO_TMP_DIR6找不到临时文件夹7UPLOAD_ERR_CANT_WRITE7文件写入失败3、介绍一些常用的 PHP 函数与 php.ini 配置相关的函数: 我们知道修改 php.ini 后要重启服务但修改配置一般是某些页面需求再者一般也不建议随意修改 php.ini 的配置文件。PHP 提供了 ini 为前缀的函数修改配置仅对当前页面有效页面释放后就无效了非常适合我们平常使用。ini_set(string $varname,string $newvalue):string 设置指定配置选项的值。这个选项会在脚本运行时保持新的值并在脚本结束时恢复。简单的说就是可以临时修改 pnp.ini 配置文件中的值页面结束时恢复 。这样就可以不用去修改 php.ini 的默认配置了毕竟它是全局的影响机器上所有 PHP 服务而我们改变一般都是针对当前需求的所以使用它修改比较合适。ini_get(string $varname):string获取一个配置选项的值ini_get_all([ string $extension[, bool $details true]]):array获取所有已注册的配置选项,get_cfg_var(string $option):mixed获取 PHP 配置选项 option 的值,此函数不会返回 PHP 编译的配置信息或从 Apache 配置文件读取。ini_restore(string $varname):void 恢复指定的配置选项到它的原始值。//限制可访问目录避免恶意修改ini_set(open_basedir,__DIR__);//仅在当前页面中应用该配置不影响PHP.ini配置文件中设置页面结束后就无效了。echo ini_get(open_basedir),;ini_set(max_file_uploads,30);//设置无效echo ini_get(max_file_uploads),;补充: 本以为可以设置文件上传相关配置经测试发现无效查 PHP 官方只有可修改范围是 PHP_INI_ALL 才可以被 ini_set 修改。就当了解知道吧。与目录或文件相关的函数: PHP 内置大量的文件系统操作函数,在一篇类的自动加载时已经介绍过了 is_file 和 file_exists 函数下面再介绍与上传文件相关的函数目录相关的函数:is_dir()判断给定文件名是否是一个目录,如果文件名存在并且是个目录返回 true否则返回 false。opendir()、 closedir()、readdir()和rewinddir()对目录进行遍历。rmdir()删除目录,mkdir新建目录。/*** 遍历出所有文件或文件夹* access public* param string $dira 要遍历的文件夹名* return array*/functiontraverseDir($dira){$arrarray();if($dhopendir($dira)){while(($filereaddir($dh))!false){if(($file!.)($file!..)is_dir($dira./.$file)){$arr[]$dira./.$file;foreach(traverseDir($dira./.$file)as$v){$arr[]$v;}}clearstatcache();}}return$arr;}printf(%s,print_r(traverseDir(F:/120910),true));文件相关的函数: 判断就是 is_file 和 file_exists 两个函数了。copy()复制文件如果目标文件已存在将会被覆盖。这里重点说下对上传临时文件的操作函数即tmp_name键名的临时文件getimagesize(临时文件) 检验是否真实图片可防止修改扩展名伪装图片is_uploaded_file(临时文件) 判断文件是否是通过 HTTP POST 上传的如果 filename 所给出的文件是通过 HTTP POST 上传的则返回 true。这可以用来确保恶意的用户无法欺骗脚本去访问本不能访问的文件例如/etc/passwd。move_uploaded_file(临时文件目标文件 将上传的文件移动到新位置。if(!getimagesize($fileInfo[tmp_name]))die(不是真实图片,get out~);if(!is_uploaded_file($fileInfo[tmp_name]))die(上传方式错误:请使用http post方式上传);if(!move_uploaded_file($fileInfo[tmp_name],$fileRealPath))die(文件上传失败);路径相关的函数:basename(string $path[,string $suffix]):string给出一个包含有指向一个文件的全路径的字符串本函数返回基本的文件名。dirname(string $path[,int $levels 1]):string给出一个包含有指向一个文件的全路径的字符串本函数返回去掉文件名后的目录名且目录深度为 levels 级。pathinfo(string $path[,int $options PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ]):mixed返回一个关联数组包含有 path 的信息。返回关联数组还是字符串取决于 options。本函数检查并确保由 filename 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法则将其移动为由 destination 指定的文件。// 路径echo basename(/etc/sudoers.d).PHP_EOL;echo basename(/etc/sudoers.d,.d).PHP_EOL;//如果文件名是以第二个参数结束的那这一部分也会被去掉echo dirname(/etc/passwd).PHP_EOL;echo dirname(/usr/local/lib,2).PHP_EOL;//第二个参数指示深度(PHP7.0开始支持)$path_partspathinfo(/www/htdocs/inc/lib.inc.php);echo $path_parts[dirname].PHP_EOL;//返回/www/htdocs/incecho $path_parts[basename].PHP_EOL;//返回lib.inc.phpecho $path_parts[extension].PHP_EOL;//返回phpecho $path_parts[filename].PHP_EOL;//返回lib.inc二、PHP(多)文件上传前端的实现1、功能和源码功能描述:可选择一个文件也可选择多个文件若选择文件是图片则提供预览功能对选择文件可进行上传服务端.container{width:70vw;min-width:600px;margin:3emauto;background-color:#007d20;color:white;font-size:1.1em;padding:0.5em1em3em;border-radius:1em;}.container h2{text-align:center;margin:0;padding:0;border:none;}form fieldset{display:flex;justify-content:space-between;}form fieldset#image {flex-flow:row wrap;justify-content:initial;/* flex其实也有弹性单元的概念不过这不是官方的说法它的提出是我学习Grid时发现的只是它是交叉方向的不设置默认是拉伸stretch *//* 在项目中若不设置则图片宽度和高度都一样这样有的图片就被拉伸了不是按图片比例缩放 */align-items:center;}form fieldset#image img {margin:5px10px;}PHP实现的(多)文件上传选择上传文件上传服务器
http://www.zqtcl.cn/news/747521/

相关文章:

  • 岳阳网站建设方案免费网站模板建设
  • 郑州响应式网站制作如何做公众号微信
  • 专业公司网站建设精准引流推广团队
  • 蔡甸建设局网站怎么用云校建设学校网站
  • 建立网站需要哪些东西软件开发流程包括
  • 网站的pdf目录怎么做的网站编写
  • 南宫企业做网站wordpress图片显示距离
  • 青岛红岛做网站百度怎么打广告
  • 凡科建站怎么建网站网络搭建是什么工作
  • wordpress支持国内视频的编辑器网站优化排名软件网站
  • 建设摩托官方网站南京做网站群的公司
  • 晋城城乡建设局网站设计网站公司选泽y湖南岚鸿询 问
  • 思坎普网站建设湘潭网站推广
  • 北京网站建设公司哪个最好做投标网站条件
  • 网站建设的成本有哪些内容怎么样制作网页
  • 怎么做网站的seo排名知乎茂名网站制作公司
  • 建安证查询网站官方网站建设对比
  • 关于医院要求建设网站的请示市场推广12种推广渠道
  • php做不了大型网站深圳公司注册网址官方
  • 网站副标题怎么写杭州抖音代运营
  • 网站建设基本资料网站数据库连接出错
  • 娄底网站开发温州seo排名公司
  • 成都有哪些网站开发公司最新网推项目
  • 分享公众号的网站小型企业类网站开发公司
  • 青岛网站建设方案案例wordpress主题模板 国人
  • 哪家高端网站建设好贷款织梦网站模板
  • 北京网站建设公司价格最近中文字幕2018免费版2019
  • 帮人做设计的网站自己怎么做新闻开头视频网站
  • 网站开发搜索功能中国建设银行ie下载网站
  • 中山网站建设 骏域网站的形式有哪些