php解析.csv文件
Aug 15, 2016 pm 04:49 PM<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> actionImport() {<br> <span style="color: #00ff00;">//post请求过来的 </span></span><span style="color: #800080;">$fileName</span> = <span style="color: #800080;">$_FILES</span>['file']['name'<span style="color: #000000;">]; </span><span style="color: #800080;">$fileTmpName</span> = <span style="color: #800080;">$_FILES</span>['file']['tmp_name'<span style="color: #000000;">]; </span><span style="color: #008000;">//</span><span style="color: #008000;">判断是否选择了上传的文件</span> <span style="color: #0000ff;">if</span> (<span style="color: #0000ff;">empty</span>(<span style="color: #800080;">$fileName</span><span style="color: #000000;">)) { </span><span style="color: #800080;">$data</span>['message'] = "请选择要上传的文件"<span style="color: #000000;">; </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">$this</span>->render("batch_add", <span style="color: #800080;">$data</span><span style="color: #000000;">); } </span><span style="color: #008000;">//</span><span style="color: #008000;">判断选择上传的文件是不是csv格式</span> <span style="color: #0000ff;">if</span> (<span style="color: #008080;">explode</span>(".", <span style="color: #800080;">$fileName</span>)[1] != "csv"<span style="color: #000000;">) { </span><span style="color: #800080;">$data</span>['message'] = "请选择csv格式的文件上传"<span style="color: #000000;">; </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">$this</span>->render("batch_add", <span style="color: #800080;">$data</span><span style="color: #000000;">); } </span><span style="color: #008000;">//</span><span style="color: #008000;">创建一个空数组,预放imageUrl</span> <span style="color: #800080;">$imageCollection</span> =<span style="color: #000000;"> []; </span><span style="color: #008000;">//</span><span style="color: #008000;">打开要读的文件</span> <span style="color: #800080;">$handle</span> = <span style="color: #008080;">fopen</span>(<span style="color: #800080;">$fileTmpName</span>, 'r'<span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;">解析csv文件</span> <span style="color: #0000ff;">while</span> (!<span style="color: #008080;">feof</span>(<span style="color: #800080;">$handle</span><span style="color: #000000;">)) { </span><span style="color: #008000;">//</span><span style="color: #008000;">fgets方法按行读</span> <span style="color: #800080;">$result</span> = <span style="color: #008080;">fgets</span>(<span style="color: #800080;">$handle</span><span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;">判断读到的每一行是否有值</span> <span style="color: #0000ff;">if</span> (!<span style="color: #0000ff;">empty</span>(<span style="color: #800080;">$result</span><span style="color: #000000;">)) { </span><span style="color: #800080;">$arrResult</span> = <span style="color: #008080;">explode</span>(",", <span style="color: #800080;">$result</span><span style="color: #000000;">); </span><span style="color: #800080;">$name</span> = <span style="color: #800080;">$arrResult</span>[0<span style="color: #000000;">]; </span><span style="color: #800080;">$age</span> = <span style="color: #800080;">$arrResult</span>[1<span style="color: #000000;">]; </span><span style="color: #800080;">$gender</span> = <span style="color: #800080;">$arrResult</span>[2<span style="color: #000000;">]; </span><span style="color: #008000;">//</span><span style="color: #008000;">图片的原路径</span> <span style="color: #800080;">$imagePath</span> = <span style="color: #800080;">$arrResult</span>[3<span style="color: #000000;">]; </span><span style="color: #008000;">//</span><span style="color: #008000;">图片的名字</span> <span style="color: #800080;">$image</span> = <span style="color: #008080;">basename</span>(<span style="color: #800080;">$imagePath</span><span style="color: #000000;">); </span><span style="color: #800080;">$data</span>['message'] = Person::savePerson(<span style="color: #800080;">$name</span>, <span style="color: #800080;">$age</span>, <span style="color: #800080;">$gender</span>, <span style="color: #800080;">$image</span><span style="color: #000000;">); </span><span style="color: #0000ff;">if</span> (<span style="color: #800080;">$data</span>['message'] == 'add successful'<span style="color: #000000;">) { </span><span style="color: #008000;">//</span><span style="color: #008000;">将每个图片的uri放到数组中</span> <span style="color: #008080;">array_push</span>(<span style="color: #800080;">$imageCollection</span>, <span style="color: #800080;">$imagePath</span><span style="color: #000000;">); } } } </span><span style="color: #008000;">//</span><span style="color: #008000;">关闭文件流</span> <span style="color: #008080;">fclose</span>(<span style="color: #800080;">$handle</span><span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;">关闭文件流之后才能上传图片,注意:流和流是不能嵌套使用的</span> <span style="color: #0000ff;">if</span> (!<span style="color: #0000ff;">empty</span>(<span style="color: #800080;">$imageCollection</span><span style="color: #000000;">)) { </span><span style="color: #0000ff;">foreach</span> (<span style="color: #800080;">$imageCollection</span> <span style="color: #0000ff;">as</span> <span style="color: #800080;">$value</span><span style="color: #000000;">) { </span><span style="color: #008000;">//</span><span style="color: #008000;">将图片上传到服务器上</span> <span style="color: #008080;">move_uploaded_file</span>(<span style="color: #800080;">$imagePath</span>, <span style="color: #008080;">dirname</span>(__DIR__) . '/web/images/'.<span style="color: #008080;">date</span>("Ymd").'/'.<span style="color: #800080;">$image</span><span style="color: #000000;">); } } </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">$this</span>->render("batch_add", <span style="color: #800080;">$data</span><span style="color: #000000;">); }</span>
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章
击败分裂小说需要多长时间?
3 周前
By DDD
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌

热门文章
击败分裂小说需要多长时间?
3 周前
By DDD
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)