• 技术文章 >php教程 >php手册

    几道php面试题 相册类等

    2016-06-06 19:46:39原创706

    面试题:相册类应用 : 要求在浏览器中能同时选中并上传多个文件,图片要求能剪裁,压缩包在服务器端解压。能上传单个达 50M 的文件。上传过程中有进度条显示。每个图片能生成四种大小缩略图,视频文件要转成 flv 供 flash 播放。叙述要涉及的各类开源软件和

    面试题:相册类应用:要求在浏览器中能同时选中并上传多个文件,图片要求能剪裁,压缩包在服务器端解压。能上传单个达50M的文件。上传过程中有进度条显示。每个图片能生成四种大小缩略图,视频文件要转成flvflash播放。叙述要涉及的各类开源软件和简单用途。

    答案:

    swfupload

    PclZip:压缩解压

    gd/imagemagic:图片剪裁

    ffmpeg:命令行的图形化视频转换工具

    测试phpmysql性能的工具

    Aphp工具

    1hprof —— facebook 开发的一个测试php性能的扩展。特性如下:

    1、 Flat Profile. 提供函数级的汇总信息,比如调用次数、执行时间、内存使用、CPU占用等。

    2、 Hierarchical Profile 对每个程序,进行了父级调用和子级调用的分解。

    3、 Diff Reports(差异报告)。有很多种情况,我们希望能够对比,比如新版本比旧版本提升了多少速度,两个版本的差距究竟在哪里

    4、 Callgraph View(调用视图)。性能监测的数据可以绘制成调用视图,方便我们查看

    5、 Memory Profile(内存监控)。这个特性帮助我们了解PHP如何分配和释放内存

    6、 如何处理外部文件。XHProf include,require,include_once,require_once进来的文件视作是一个 function

    2XDEBUG WinCacheGrind:前者生成文件,后者负责解析。

    Bmysql工具

    sysbench(或者super-smack)测试mysql性能。使测试获得好得数据,这其实非常简单:1 最大化CPU利用率 2 减少由于IO造成的延迟

    如何提取一个网页的所有链接?

    正则1 [^ "]*) "| '(? [^ ']*) '|(? [^> \s]*))[^> ]*?> (? [\s\S]*?) </a></span></p> <p><b><span lang="EN-US"> </span></b></p> <p><b><span>上面可以提取新浪的全部链接还有标题,比较牛</span><span lang="EN-US">!</span></b><b><span>,下面有个其他网友做的简单的</span><span lang="EN-US">,</span></b><b><span>可能有错:</span><span lang="EN-US"></span></b></p> <p><span>正则</span><span lang="EN-US">2</span><span>:</span><span lang="EN-US">/<a\s+href=["|\']?([^>"\' ]+)["|\']?\s*[^>]*>([^>]+)<\/a>/i</span></p> <p><span>例如:</span></p> <p><span lang="EN-US"><span> </span><?PHP<span> </span></span></p> <p><span lang="EN-US"><span> </span>$file = file_get_contents(“http://www.rocsky.net”); </span></p> <p><span lang="EN-US"><span> </span>preg_match_all('/<a\s+href=["|\']?([^>"\' ]+)["|\']?\s*[^>]*>([^>]+)<\/a>/i', $file, $links);<span> </span></span></p> <p><span lang="EN-US"><span> </span>print_r($links);<span> </span></span></p> <p><span lang="EN-US">exit;<span> </span>?><span> </span></span></p> <p><span lang="EN-US"> </span></p> <p><span lang="EN-US"> </span></p> <p><b><span>如何防止同一个用户同时登陆?如果我用</span><span lang="EN-US">aa</span></b><b><span>登陆,别人就不能用了</span><span lang="EN-US"></span></b></p> <p><span>要防止同一用户同时登陆</span><span lang="EN-US">,</span><span>首页应该记录在线用户的信息</span><span lang="EN-US">(</span><span>这里与用户名为例</span><span lang="EN-US">),</span><span>然后判断正在登陆的用户里面是否已存在。在这里使用一个</span><span lang="EN-US">cache</span><span>存放已经登陆的用户名,但是还有一个问题就是要知道用户是什么时候离开系统的呢?这就要定期清除</span><span lang="EN-US">cache</span><span>中的内容了,也就是设置一个</span><span lang="EN-US">cache</span><span>的时间。这个时间可以跟用户的</span><span lang="EN-US">session</span><span>值联系起来,刚好当用户</span><span lang="EN-US">session</span><span>值失效的时候该用户在</span><span lang="EN-US">cache</span><span>里面的信息也会被清空.这样就达到了防止同时登陆的效果,具体代码如下:</span></p> <p><span> 放在登陆成功的地方:</span></p> <p><span lang="EN-US">string key = TextBox1.Text; //</span><span>用户名文本框设为</span><span lang="EN-US">cache</span><span>关键字</span></p> <p><span lang="EN-US">string uer = Convert.ToString(Cache[key]); //</span><span>读取</span><span lang="EN-US">cache</span><span>中用户相应的值</span></p> <p><span lang="EN-US">//</span><span>判断</span><span lang="EN-US">cache</span><span>中是否有用户的信息,如果没有相关的值,说明用户未登陆</span></p> <p><span lang="EN-US">if (uer == null || uer == String.Empty)</span></p> <p><span lang="EN-US">{</span></p> <p><span> </span><span lang="EN-US">//</span><span>定义</span><span lang="EN-US">cache</span><span>过期时间</span></p> <p><span lang="EN-US">TimeSpan SessTimeout = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);</span></p> <p><span lang="EN-US"> </span></p> <p><span> </span><span lang="EN-US">//</span><span>第一次登陆的时候插入一个用户相关的</span><span lang="EN-US">cache</span><span>值,</span></p> <p><span> </span><span lang="EN-US">HttpContext.Current.Cache.Insert(key, key, null, DateTime.MaxValue, SessTimeout, System.Web.Caching.CacheItemPriority.NotRemovable, null);</span></p> <p><span> </span><span lang="EN-US">Session["ADMINID"] = TextBox1.Text;</span></p> <p><span> </span><span lang="EN-US">Response.Redirect("main.aspx");</span></p> <p><span lang="EN-US">}</span></p> <p><span lang="EN-US">else</span></p> <p><span lang="EN-US">{</span><span> </span><span lang="EN-US">//</span><span>重复登陆</span></p> <p><span> </span><span lang="EN-US">Response.Write("<script>alert('</span><span>您的账号已经登陆</span><span lang="EN-US">!');window.location='login.aspx';</script>");</span></p> <p><span lang="EN-US">}</span></p> <p><b><span>单点登陆</span><span lang="EN-US">SSO</span></b></p> <p><span>很详细,慢慢看</span><span lang="EN-US">http://www.iteye.com/topic/1039052</span></p> <p><b><span>垃圾什么时候回收?</span><span lang="EN-US"></span></b></p> <p><span lang="EN-US">php 5.3</span><span>之前使用的垃圾回收机制是单纯的“引用计数”,也就是每个内存对象都分配一个计数器,当内存对象被变量引用时,计数器</span><span lang="EN-US">+1</span><span>;当变量引用撤掉后,计数器</span><span lang="EN-US">-1</span><span>;当计数器</span><span lang="EN-US">=0</span><span>时,表明内存对象没有被使用,该内存对象则进行销毁,垃圾回收完成。</span></p> <p><span lang="EN-US"> </span></p> <p><span>“引用计数”存在问题,就是当两个或多个对象互相引用形成环状后,内存对象的计数器则不会消减为</span><span lang="EN-US">0</span><span>;这时候,这一组内存对象已经没用了,但是不能回收,从而导致内存泄露;</span></p> <p><span lang="EN-US"> </span></p> <p><span>上面是有问题,</span><span lang="EN-US">js</span><span>也没有这么做!</span><span lang="EN-US">js</span><span>用的是?(忘了,哭)</span></p> <p><span lang="EN-US">php5.3</span><span>开始,使用了新的垃圾回收机制,在引用计数基础上,实现了一种复杂的算法,来检测内存对象中引用环的存在,以避免内存泄露</span></p> <p><span lang="EN-US"> </span></p> <p><span lang="EN-US">1)</span><span>垃圾回收的时机</span></p> <p><span lang="EN-US">Php</span><span>中,引用计数为</span><span lang="EN-US">0</span><span>,则内存立刻释放;也就是说,不存在环状引用的变量,离开变量的作用域,内存被立刻释放。</span></p> <p><span>环状引用检测则是在满足一定条件下触发,所以在上面的例子中,会看到使用的内存有大幅度的波动;也可以通过</span><span lang="EN-US"> gc_collect_cycles </span><span>函数来主动进行环状引用检测。</span></p> <p><span lang="EN-US"> </span></p> <p><span lang="EN-US">2) &</span><span>符号的影响</span></p> <p><span>显式引用一个变量,会增加该内存的引用计数:</span></p> <p><span lang="EN-US">$a = "something";</span></p> <p><span lang="EN-US">$b = &$a;</span></p> <p><span>此时</span><span lang="EN-US">unset($a), </span><span>但是仍有</span><span lang="EN-US">$b</span><span>指向该内存区域的引用,内存不会释放。</span></p> <p><span lang="EN-US"> </span></p> <p><span lang="EN-US">3</span><span>)</span><span lang="EN-US">unset</span><span>函数的影响</span></p> <p><span lang="EN-US">unset</span><span>只是断开一个变量到一块内存区域的连接,同时将该内存区域的引用计数</span><span lang="EN-US">-1</span><span>;在上面的例子中,循环体内部,</span><span lang="EN-US">$a=new A(); unset($a);</span><span>并不会将</span><span lang="EN-US">$a</span><span>的引用计数减到零;</span></p> <p><span lang="EN-US"> </span></p> <p><span lang="EN-US">4</span><span>)</span><span lang="EN-US">= null </span><span>操作的影响;</span></p> <p><span lang="EN-US">$a = null </span><span>影响与</span><span lang="EN-US">unset($a)</span><span>类似;</span></p> <p><span lang="EN-US"> </span></p> <p><span lang="EN-US">5</span><span>)脚本执行结束的影响</span></p> <p><span>脚本执行结束,该脚本中使用的所有内存都会被释放,不论是否有引用环。</span></p> <p><span lang="EN-US"> </span></p> <p><b><span>问:列出你知道的</span><span lang="EN-US">php</span></b><b><span>中得函数那些是直接作用于变量本身?</span><span lang="EN-US"></span></b></p> <p><span lang="EN-US">str_replace() </span><span>函数将返回修改过的字符串,</span></p> <p><span>而</span><span lang="EN-US"> usort() </span><span>却直接作用于传递的参数变量本身</span></p> <p><span><span>其实因为数组传递的是引用,我自己的感觉</span><span lang="EN-US"></span></span></p> <p><span><span lang="EN-US"><span> </span></span></span></p> <p><b><span>这些是函数吗?</span><span lang="EN-US">echo()</span></b><b><span>,</span><span lang="EN-US">print()</span></b><b><span>,</span><span lang="EN-US">unset()</span></b><b><span>,</span><span lang="EN-US">isset()</span></b><b><span>,</span><span lang="EN-US">empty()</span></b><b><span>,</span><span lang="EN-US">include()</span></b><b><span>,</span><span lang="EN-US">require()</span></b></p> <p><span>上面都是语言结构!</span></p> <p><span lang="EN-US">If else</span><span>都是语言结构,这些是在词法,语法解析中解释,详细看编译原理。</span></p> <p><b><span>类和非面向对象中,如何定义常量?</span><span lang="EN-US"></span></b></p> <p><span lang="EN-US">class MyClass</span></p> <p><span lang="EN-US">{<span> </span></span></p> <p><span lang="EN-US">const constant = 'constant value';</span></p> <p><span lang="EN-US">}</span></p> <p><span lang="EN-US">define(“constant”, “constant value”)</span></p> <p><span lang="EN-US"> </span></p> <p><b><span>面向对象的魔术方法</span><span lang="EN-US"></span></b></p> <p><span lang="EN-US">__construct, __destruct, __call, __get, __set, __isset, __unset (see Overloading), __sleep, __wakeup, __toString, __set_state and __clone</span></p> <p><span lang="EN-US"> </span><div class='bg-white layui-clear' style="margin:15px 0;"><span style="color:red;">声明:</span>本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。</div><div class='tags bg-white layui-clear pt-5'><span>专题推荐:</span><a href="//m.sbmmt.com/m/search?word=几道" target="_blank">几道</a> <a href="//m.sbmmt.com/m/search?word=php" target="_blank">php</a> <a href="//m.sbmmt.com/m/search?word=试题" target="_blank">试题</a> <a href="//m.sbmmt.com/m/search?word=相册" target="_blank">相册</a> <a href="//m.sbmmt.com/m/search?word=试题" target="_blank">试题</a> <a href="//m.sbmmt.com/m/search?word=相册" target="_blank">相册</a> <a href="//m.sbmmt.com/m/search?word=应用" target="_blank">应用</a> <a href="//m.sbmmt.com/m/search?word=要求" target="_blank">要求</a> <a href="//m.sbmmt.com/m/search?word=浏览器" target="_blank">浏览器</a> <a href="//m.sbmmt.com/m/search?word=中" target="_blank">中</a></div><script type="text/javascript" charset="UTF-8" src="https://cdn.wwads.cn/js/makemoney.js" async></script><div class="wwads-cn wwads-horizontal" data-id="156" style="max-width:640px"></div><div><span style="display:inline-block; width: 100%; margin-top: 10px;"> 上一篇:<a style="color: #00AEEF;" href="//m.sbmmt.com/m/article/92497.html">php date之间的相互转换</a></span><span style="display:inline-block; width: 100%"> 下一篇:<a style="color: #00AEEF;" href="//m.sbmmt.com/m/article/92499.html">PHP自动更新生成首页</a></span></div></article><!--<div class="selectButton"><button type="button">点击阅读全文</button></div>--><!--<a href="javascript:;" onclick="location.href='https://m.xp.cn/'" rel="nofollow"><img src="//m.sbmmt.com/m/static/images/articlead.jpg" width="100%" alt="phpstudy集成环境下载"></a>--><a href="//m.sbmmt.com/m/mq.html?t=2" rel="nofollow"><img src="//m.sbmmt.com/img/upload/aroundimg/000/000/071/62566f0ccc0d9487.png" width="100%" alt="Web大前端开发直播班"></a><!--<a href="//m.sbmmt.com/m/vip_mobile.html" rel="nofollow"><img src="//m.sbmmt.com/m/static/images/articlead1.gif" width="100%" alt="会员特权"></a>--></div><div class='course-list bg-white layui-clear mt-10'><h4>相关文章推荐</h4><a href='//m.sbmmt.com/m/article/188476.html' title="在WAS CE上运行PHP" class='alist'>• 在WAS CE上运行PHP</a><a href='//m.sbmmt.com/m/article/208974.html' title="Mysql和网页显示乱码解决方法集锦" class='alist'>• Mysql和网页显示乱码解决方法集锦</a><a href='//m.sbmmt.com/m/article/210786.html' title="php.ini 中文版" class='alist'>• php.ini 中文版</a><a href='//m.sbmmt.com/m/article/212503.html' title="PHP数据库开发知多少" class='alist'>• PHP数据库开发知多少</a><a href='//m.sbmmt.com/m/article/91516.html' title="刷新PHP缓冲区为你的站点加速" class='alist'>• 刷新PHP缓冲区为你的站点加速</a></div><div class='course-list bg-white layui-clear mt-10'><ul ><h4>相关课程推荐</h4><li class='layui-clear' style="padding-left: 0px;"><a href="//m.sbmmt.com/m/course/386.html" class="course-arctic-img"><img src='//m.sbmmt.com/img/upload/course/000/000/001/5d1c6df423564706.jpg' height="100%"></a><div class='course-intro' style="margin-left: 0px;"><h2><a href="//m.sbmmt.com/m/course/386.html">独孤九贱(3)_JavaScript视频教程</a></h2><p class='course-intro-info'>javascript是运行在浏览器上的脚本语言,连续多年,被评为全球最受欢迎的编程语言。是前端开发必备三大法器中,最具杀伤力。如果前端开发是降龙十八掌,好么javascript就是第18掌:亢龙有悔。没有它,你的前端生涯是不完整的。《php.cn独孤九贱(3)-JavaScript视频教程》课程特色:php中文网原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了javascript知识。</p><p><a href="//m.sbmmt.com/m/course/list/17.html"><span class='level'>JavaScript教程</span></a><span class='count'>121395次播放</span></p></div></li><hr><li class='layui-clear' style="padding-left: 0px;"><a href="//m.sbmmt.com/m/course/582.html" class="course-arctic-img"><img src='//m.sbmmt.com/img/upload/course/000/000/001/5d1c6e0d2b744633.jpg' height="100%"></a><div class='course-intro' style="margin-left: 0px;"><h2><a href="//m.sbmmt.com/m/course/582.html">独孤九贱(6)_jQuery视频教程</a></h2><p class='course-intro-info'>jQuery是一个快速、简洁的JavaScript框架。设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等,是全球最流行的前端开发框架之一。PHP中文网根据最新版本,独家录制jQuery最新视频教程,回馈PHP中文网的新老用户。</p><p><a href="//m.sbmmt.com/m/course/list/19.html"><span class='level'>jQuery教程</span></a><span class='count'>100502次播放</span></p></div></li><hr><li class='layui-clear' style="padding-left: 0px;"><a href="//m.sbmmt.com/m/course/591.html" class="course-arctic-img"><img src='//m.sbmmt.com/img/upload/course/000/000/007/144bdb16465e799c4779e2b6bda63e4d.jpg' height="100%"></a><div class='course-intro' style="margin-left: 0px;"><h2><a href="//m.sbmmt.com/m/course/591.html">传智播客JavaScript面向对象完成贪吃蛇游戏视频教程</a></h2><p class='course-intro-info'>《传智播客JavaScript面向对象完成贪吃蛇游戏视频教程》介绍了关于JavaScript面向对象的知识,利用面向对象的编程思想去完成贪吃蛇游戏。</p><p><a href="//m.sbmmt.com/m/course/list/17.html"><span class='level'>JavaScript教程</span></a><span class='count'>4340次播放</span></p></div></li><hr><li class='layui-clear' style="padding-left: 0px;"><a href="//m.sbmmt.com/m/course/738.html" class="course-arctic-img"><img src='//m.sbmmt.com/img/upload/course/000/000/003/5a3ca33bd5508344.jpg' height="100%"></a><div class='course-intro' style="margin-left: 0px;"><h2><a href="//m.sbmmt.com/m/course/738.html">jQuery入门基础视频教程</a></h2><p class='course-intro-info'>《jQuery入门基础视频教程》本节课中从jQuery的基础开始讲起,很适合新手学习哦!废话也就不说那么多了,没接触过jquery的小伙伴们可以来学习学习哦!!</p><p><a href="//m.sbmmt.com/m/course/list/19.html"><span class='level'>jQuery教程</span></a><span class='count'>6943次播放</span></p></div></li><hr><li class='layui-clear' style="padding-left: 0px;"><a href="//m.sbmmt.com/m/course/744.html" class="course-arctic-img"><img src='//m.sbmmt.com/img/upload/course/000/000/003/5a3dce52c01a9455.jpg' height="100%"></a><div class='course-intro' style="margin-left: 0px;"><h2><a href="//m.sbmmt.com/m/course/744.html">CreateJS基础视频教程</a></h2><p class='course-intro-info'>《CreateJS基础视频教程》本节课程是由极客学院录制,CreateJS为CreateJS库,是一款为HTML5游戏开发的引擎。想学H5游戏开发的小伙伴们快来吧!!</p><p><a href="//m.sbmmt.com/m/course/list/17.html"><span class='level'>JavaScript教程</span></a><span class='count'>6776次播放</span></p></div></li><hr></ul></div><a href="https://s.click.taobao.com/TocwnYu" rel="nofollow" target="_blank"><img src="//m.sbmmt.com/m/static/images/ad/xinre.png" border="0" width="100%" alt="新人一分购"></a><div class='discuss layui-clear bg-white'><h3>全部评论<span id='discuss-article'>我要评论</span></h3></div><div class='discuss-submit bg-white' url="//m.m.sbmmt.com/"><li class='info layui-clear'><span class='f-left' id='discuss-submit-close'>取消</span><span class='f-left'>发布评论</span><span class='f-right article-reply-publish' id="92498">发送</span></li><li class='layui-clear'><textarea type='text' rows="6" placeholder="请输入要评论的内容" class="article-reply-content-text"></textarea></li><li class='layui-clear'><button class="layui-btn layui-btn-danger f-right article-reply-publish-button">发布</button></li></div><div class='lock-screen' id='lock-screen'></div><div class='popimg-setting'><div>1/1</div><img src="" width='100%'></div><script src="//m.sbmmt.com/m/static/ueditor/third-party/SyntaxHighlighter/shCore.js"></script><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><footer><a href='//m.sbmmt.com/m/' ><i class='layui-icon layui-icon-home '></i>首页</a><a href='//m.sbmmt.com/m/course.html' ><i class='layui-icon layui-icon-play'></i>视频</a><a href='//m.sbmmt.com/m/mq.html?t=2'><img src="//m.sbmmt.com/m/static/images/gif_live.gif" />直播</a><!-- <a href='//m.sbmmt.com/m/app/'><img src="//m.sbmmt.com/img/upload/article/000/000/003/6108e2ad07387877.png" style="width:20px;height:20px;" /><div style="margin-top:-5px;">下载</div></a>--><a href='//m.sbmmt.com/m/wenda.html' ><i class='layui-icon layui-icon-code-circle'></i>社区</a><a href='//m.sbmmt.com/m/login' ><i class='layui-icon layui-icon-username'></i>我的</a></footer><div class="headerMask"></div><div class="right_menu"><div class="right_menu_con"><h2 class="hjclass-txt"><i class="layui-icon layui-icon-shrink-right hjclass-txt-i"></i>PHP中文网</h2><div class="menu-list"><a href="//m.sbmmt.com/m/"><span class="item-icon item-1"><img src="//m.sbmmt.com/img/upload/article/000/000/003/5bffb65f99ae2304.png" alt="首页"></span> 首页</a><a href="//m.sbmmt.com/m/course.html"><span class="item-icon item-7"><img src="//m.sbmmt.com/img/upload/article/000/000/003/5bffb82bd09ad628.png" alt="课程"></span> 课程</a><a href="//m.sbmmt.com/m/article.html"><span class="item-icon item-4"><img src="//m.sbmmt.com/img/upload/article/000/000/003/5bffb7e111b3b425.png" alt="文章"></i></span>文章</a><a href="//m.sbmmt.com/m/wenda.html"><span class="item-icon item-2"><img src="//m.sbmmt.com/img/upload/article/000/000/003/5bffb83f04e24328.png" alt="问答"></span> 问答</a><a href="//m.sbmmt.com/m/blog.html"><span class="item-icon item-0"><img src="//m.sbmmt.com/m/static/images/ico/blog.png" alt="博客"></span>博客</a><a href="//m.sbmmt.com/m/dic.html"><span class="item-icon item-9"><img src="//m.sbmmt.com/img/upload/article/000/000/003/5bffb85047b25758.png" alt="词典"></span> 词典</a><a href="//m.sbmmt.com/m/course/type/99.html"><span class="item-icon item-3"><img src="//m.sbmmt.com/img/upload/article/000/000/003/5bffb8736ea90300.png" alt="手册"></span> 手册</a><a href="//m.sbmmt.com/m/xiazai/"><span class="item-icon item-5"><img src="//m.sbmmt.com/m/static/images/ico/resources.png" alt="资源"></span> 资源</a><a href="//m.sbmmt.com/m/search"><span class="item-icon item-6"><img src="//m.sbmmt.com/img/upload/article/000/000/003/5bffb880b460a204.png" alt="搜索"></span> 搜索</a><a href="//m.sbmmt.com/m/app/"><span class="item-icon item-6"><img src="//m.sbmmt.com/img/upload/article/000/000/003/608bbfa30d9cc398.png" style="width:35px;height:35px;" alt="APP下载"></span> APP下载</a></div></div></div><script>isLogin = 0;</script><script type="text/javascript" src="//m.sbmmt.com/m/static/js/jquery.min.js"></script><script type="text/javascript" src="//m.sbmmt.com/m/static/layui/layui.js"></script><script type="text/javascript" src="//m.sbmmt.com/m/static/js/global.js?4.9.47"></script><script>(function () {var bp = document.createElement('script');var curProtocol = window.location.protocol.split(':')[0];if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';} else {bp.src = 'http://push.zhanzhang.baidu.com/push.js';}var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(bp, s);})();var _hmt = _hmt || [];(function() {var hm = document.createElement("script");hm.src = "https://m.sbmmt.com/hm.js?43f47cabf6856204df6d083dd89ae407";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm, s);})();</script><link rel='stylesheet' id='_main-css' href='//m.sbmmt.com/m/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='//m.sbmmt.com/m/static/js/viewer.min.js?1'></script><script type='text/javascript' src='//m.sbmmt.com/m/static/js/jquery-viewer.min.js'></script><script>$('article').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}});</script><script type="application/ld+json">{"@context": "https://ziyuan.baidu.com/contexts/cambrian.jsonld","@id": "//m.m.sbmmt.com/article/92498.html","appid": "1549852514326010","title": "几道php面试题 相册类等","images": [""],"description": "面试题:相册类应用 : 要求在浏览器中能同时选中并上传多个文件,图片要求能剪裁,压缩包在服务器端解压。能上传单个达 50M 的文件。上传过程中有进度条显示。每个图片能生成四种大小缩略图,视频文件要转成 flv 供 flash 播放。叙述要涉及的各类开源软件和","pubDate": "2016-06-06T19:46:39","data": {"WebPage": {"headline": "几道php面试题 相册类等","wapUrl": "//m.m.sbmmt.com/article/92498.html","pcUrl": "//m.sbmmt.com/m/php-notebook-92498.html","fromSrc": "php中文网","domain": "电子科技","category": ["问答"],"isDeleted": 0},"Question": [{"acceptedAnswer":"面试题:相册类应用 : 要求在浏览器中能同时选中并上传多个文件,图片要求能剪裁,压缩包在服务器端解压。能上传单个达 50M 的文件。上传过程中有进度条显示。每个图片能生成四种大小缩略图,视频文件要转成 flv 供 flash 播放。叙述要涉及的各类开源软件和"}],"ImageObject": [{"contentUrl": "","scale": "5:2"}],"Author": [{"name": "php中文网","jobTitle": ["php公益学习平台"],"headPortrait": "https://img.php.cn/upload/article/000/000/003/5d1b23156bf94358.png"}]}}</script><script>$('.selectButton').hide();</script></body></html>