PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
本文实例说明白PHP5.0~5.6 各版本兼容性cURL文件上传成果。分享给各人供各人参考,详细如下: 最近做的一个需求,要通过PHP挪用cURL,以multipart/form-data名目上传文件。踩坑多少,够一篇文章了。 重要告诫 没事不要读PHP的官方中文文档!版本跟不上坑死你! 差异版本PHP之间cURL的区别 PHP的cURL支持通过给 传统上,PHP的cURL支持通过在数组数据中,行使“@+文件全路径”的语法冈蹲隳件,供cURL读取上传。这与呼吁行直接挪用cURL措施的语法是同等的: '@'.realpath('image.png'),));equals 但PHP从5.5开始引入了新的CURLFile类用来指向文件。CURLFile类也可以具体界说MIME范例、文件名等也许呈此刻multipart/form-data数据中的附加信息。PHP保举行使CURLFile更换旧的 PHP 5.5其它引入了 可是坑的一点在于: 对付PHP 5.6+而言,手动配置 我的陈设情形是5.4( 此刻题目来了…… 情形判定:警惕邪术数字! 我见过这种情形判定的代码: = 0)
我对这种代码的评价只有一个字:屎。 这个判定掉入了典范的邪术数字陷阱。版本号莫名其妙的呈此刻代码之中,不查半天PHP手册和更新汗青,很难大白作者被卡在了哪个成果的改观上。 代码应该回归本源。我们的现实需求着实是:有CURLFile就优先回收,没有再退化到传统 提议明晰指定的退化选项 从靠得住的角度,保举指定 cURL选项配置的次序 不管是 譬喻 cURL有那么几个选项存在这种坑,务必警惕。还好这种存在“依靠相关”的选项不多,机制也不伟大,简朴处理赏罚即可。我的要领是先批量配置全部的选项,然后直到 现实上在 我的做法只是在代码示意上加个多余的保险,突出夸大次序的重要性防往后手贱。 定名空间 PHP 5.2或以下的版本没有定名空间。代码顶用到了空间脱离符 要留意的反倒是有定名空间的PHP 5.3+。无论是挪用CURLFile照旧用 更多关于PHP相干内容感乐趣的读者可查察本站专题:《》、《》、《》、《》、《》、《》及《》 但愿本文所述对各人PHP措施计划有所辅佐。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |