PHP上传类upload.php的具体使用方法_PHP教程

php中文网
发布: 2016-07-15 13:29:07
原创
1664人浏览过

我们今天为大家带来的是关于具体代码如下:

立即学习PHP免费学习笔记(深入)”;

Gnomic智能体平台
Gnomic智能体平台

国内首家无需魔法免费无限制使用的ChatGPT4.0,网站内设置了大量智能体供大家免费使用,还有五款语言大模型供大家免费使用~

Gnomic智能体平台 47
查看详情 Gnomic智能体平台

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

<OL class=dp-xml><LI class=alt><SPAN><STRONG><FONT color=#006699><SPAN class=tag><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>/**  </SPAN><LI class=""><SPAN> * 我的文件上传类  </SPAN><LI class=alt><SPAN> *  </SPAN><LI class=""><SPAN> * 未完成的功能:  </SPAN><LI class=alt><SPAN> * 1.对目标目录是否存在的判断  </SPAN><LI class=""><SPAN> * 2.如果上传时出现重名,自动重命名  </SPAN><LI class=alt><SPAN> *   </SPAN><LI class=""><SPAN> * @author M.Q. </SPAN><SPAN class=tag><STRONG><FONT color=#006699><</FONT></STRONG></SPAN><SPAN>[url]www.mengqi.net[/url]</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> </SPAN></SPAN><LI class=alt><SPAN> */  </SPAN><LI class=""><SPAN>class upload  </SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>    /**  </SPAN><LI class=alt><SPAN>     * PHP上传类upload.php上传文件的信息,此值由构造函数取得,如果上传文件失败或出错或未上传,则此值为false  </SPAN><LI class=""><SPAN>     *  </SPAN><LI class=alt><SPAN>     * @var array  </SPAN><LI class=""><SPAN>     */  </SPAN><LI class=alt><SPAN>    private $</SPAN><SPAN class=attribute><FONT color=#ff0000>file</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>false</FONT></SPAN><SPAN>;   </SPAN></SPAN><LI class=""><SPAN>      </SPAN><LI class=alt><SPAN>     </SPAN><LI class=""><SPAN>    /**  </SPAN><LI class=alt><SPAN>     * 构造函数:取得上传文件的信息  </SPAN><LI class=""><SPAN>     *   </SPAN><LI class=alt><SPAN>     * 如果在上传文件的工程中发生错误,那么出错的文件不会放在结果中返回,结果中的文件都是可用的  </SPAN><LI class=""><SPAN>     *  </SPAN><LI class=alt><SPAN>     * @param string $tag form表单中</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>input</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>标签中name属性的值,例</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>input</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>name</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"p"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>type</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"file"</FONT></SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> </SPAN></SPAN><LI class=""><SPAN>     *   </SPAN><LI class=alt><SPAN>     * 例1,上传单个文件:  </SPAN><LI class=""><SPAN>     * </SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>input</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>name</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"upfile"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>type</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"file"</FONT></SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> </SPAN></SPAN><LI class=alt><SPAN>     *   </SPAN><LI class=""><SPAN>     * 例2,上传多个文件:  </SPAN><LI class=alt><SPAN>     * </SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>input</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>name</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"upfile[]"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>type</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"file"</FONT></SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> </SPAN></SPAN><LI class=""><SPAN>     * </SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>input</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>name</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"upfile[]"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>type</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"file"</FONT></SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> </SPAN></SPAN><LI class=alt><SPAN>     *   </SPAN><LI class=""><SPAN>     * 结果(保存在$file变量中)如下:  </SPAN><LI class=alt><SPAN>     *   </SPAN><LI class=""><SPAN>     * array(  </SPAN><LI class=alt><SPAN>     * [0] =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> array(  </SPAN></SPAN><LI class=""><SPAN>     *      'name'      =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> 'abc.txt'  </SPAN></SPAN><LI class=alt><SPAN>     *      'type'      =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> 'text/plain’  </SPAN></SPAN><LI class=""><SPAN>     *      'tmp_name'  =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> '/tmp/phpgxecCb'  </SPAN></SPAN><LI class=alt><SPAN>     *      'error'     =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> 0  </SPAN></SPAN><LI class=""><SPAN>     *      'size'      =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> 62  </SPAN></SPAN><LI class=alt><SPAN>     *      )  </SPAN><LI class=""><SPAN>     * [1] =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> array(  </SPAN></SPAN><LI class=alt><SPAN>     *      'name'      =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> 'abc.txt'  </SPAN></SPAN><LI class=""><SPAN>     *      'type'      =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> 'text/plain’  </SPAN></SPAN><LI class=alt><SPAN>     *      'tmp_name'  =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> '/tmp/phpgxecCb'  </SPAN></SPAN><LI class=""><SPAN>     *      'error'     =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> 0  </SPAN></SPAN><LI class=alt><SPAN>     *      'size'      =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> 62  </SPAN></SPAN><LI class=""><SPAN>     *      )  </SPAN><LI class=alt><SPAN>     * )  </SPAN><LI class=""><SPAN>     */  </SPAN><LI class=alt><SPAN>    public function __construct($tag)  </SPAN><LI class=""><SPAN>    {  </SPAN><LI class=alt><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>file</FONT></SPAN><SPAN> = $_FILES[$tag];  </SPAN></SPAN><LI class=""><SPAN>                 </SPAN><LI class=alt><SPAN>        if (!isset($file) || empty($file))   </SPAN><LI class=""><SPAN>        {  </SPAN><LI class=alt><SPAN>            return; //没有上传文件  </SPAN><LI class=""><SPAN>        }  </SPAN><LI class=alt><SPAN>          </SPAN><LI class=""><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>num</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>count</FONT></SPAN><SPAN>($file['name']); //PHP上传类upload.php上传文件的个数  </SPAN></SPAN><LI class=alt><SPAN>          </SPAN><LI class=""><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>data</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN>(); //用来保存上传文件的信息的数组  </SPAN></SPAN><LI class=alt><SPAN> </SPAN><LI class=""><SPAN>        //上传了多个文件  </SPAN><LI class=alt><SPAN>        if ($num </SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> 1)  </SPAN></SPAN><LI class=""><SPAN>        {  </SPAN><LI class=alt><SPAN>            for($</SPAN><SPAN class=attribute><FONT color=#ff0000>i</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>0</FONT></SPAN><SPAN>; $i </SPAN><SPAN class=tag><STRONG><FONT color=#006699><</FONT></STRONG></SPAN><SPAN> $num; $i++)  </SPAN></SPAN><LI class=""><SPAN>            {  </SPAN><LI class=alt><SPAN>                $</SPAN><SPAN class=attribute><FONT color=#ff0000>d</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN>();  </SPAN></SPAN><LI class=""><SPAN>                $d['name']       = $file['name'][$i];  </SPAN><LI class=alt><SPAN>                $d['type']       = $file['type'][$i];  </SPAN><LI class=""><SPAN>                $d['tmp_name']   = $file['tmp_name'][$i];  </SPAN><LI class=alt><SPAN>                $d['error']      = $file['error'][$i];  </SPAN><LI class=""><SPAN>                $d['size']       = $file['size'][$i];  </SPAN><LI class=alt><SPAN>                  </SPAN><LI class=""><SPAN>                if ($d['error'] == 0)  </SPAN><LI class=alt><SPAN>                {  </SPAN><LI class=""><SPAN>                    $data[] = $d;  </SPAN><LI class=alt><SPAN>                }  </SPAN><LI class=""><SPAN>                else   </SPAN><LI class=alt><SPAN>                {  </SPAN><LI class=""><SPAN>                    @unlink($d['tmp_name']);  </SPAN><LI class=alt><SPAN>                }  </SPAN><LI class=""><SPAN>            }  </SPAN><LI class=alt><SPAN>        }  </SPAN><LI class=""><SPAN>        //只上传了一个文件  </SPAN><LI class=alt><SPAN>        else   </SPAN><LI class=""><SPAN>        {  </SPAN><LI class=alt><SPAN>            $</SPAN><SPAN class=attribute><FONT color=#ff0000>d</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN>();  </SPAN></SPAN><LI class=""><SPAN>            $d['name']       = $file['name'];  </SPAN><LI class=alt><SPAN>            $d['type']       = $file['type'];  </SPAN><LI class=""><SPAN>            $d['tmp_name']   = $file['tmp_name'];  </SPAN><LI class=alt><SPAN>            $d['error']      = $file['error'];  </SPAN><LI class=""><SPAN>            $d['size']       = $file['size'];  </SPAN><LI class=alt><SPAN>              </SPAN><LI class=""><SPAN>            if ($d['error'] == 0)  </SPAN><LI class=alt><SPAN>            {  </SPAN><LI class=""><SPAN>                $data[] = $d;  </SPAN><LI class=alt><SPAN>            }  </SPAN><LI class=""><SPAN>            else   </SPAN><LI class=alt><SPAN>            {  </SPAN><LI class=""><SPAN>                @unlink($d['tmp_name']);  </SPAN><LI class=alt><SPAN>            }  </SPAN><LI class=""><SPAN>        }  </SPAN><LI class=alt><SPAN>          </SPAN><LI class=""><SPAN>        if (empty($data)) return;  </SPAN><LI class=alt><SPAN>          </SPAN><LI class=""><SPAN>        $this -</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>file</FONT></SPAN><SPAN> = $data; //保存上传文件的信息  </SPAN></SPAN><LI class=alt><SPAN>    }  </SPAN><LI class=""><SPAN>      </SPAN><LI class=alt><SPAN>    /**  </SPAN><LI class=""><SPAN>     * 将上传的文件从临时文件夹移动到目标路径  </SPAN><LI class=alt><SPAN>     *  </SPAN><LI class=""><SPAN>     * @param array $src 文件信息数组,是$file数组的其中一个元素(仍然是数组)  </SPAN><LI class=alt><SPAN>     * @param string $destpath 上传的目标路径  </SPAN><LI class=""><SPAN>     * @param string $filename 上传后的文件名,如果为空,则使用上传时的文件名  </SPAN><LI class=alt><SPAN>     * @return bool  </SPAN><LI class=""><SPAN>     */  </SPAN><LI class=alt><SPAN>    public function save($src, $destpath, $</SPAN><SPAN class=attribute><FONT color=#ff0000>filename</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>null</FONT></SPAN><SPAN>)  </SPAN></SPAN><LI class=""><SPAN>    {  </SPAN><LI class=alt><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>srcTName</FONT></SPAN><SPAN> = $src['tmp_name']; //原始上传文件的临时文件名  </SPAN></SPAN><LI class=""><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>srcFName</FONT></SPAN><SPAN> = $src['name'];     //原始文件名  </SPAN></SPAN><LI class=alt><SPAN>          </SPAN><LI class=""><SPAN>        //如果$filename参数为空,则使用上传时的文件名  </SPAN><LI class=alt><SPAN>        if (empty($filename))  </SPAN><LI class=""><SPAN>        {  </SPAN><LI class=alt><SPAN>            $</SPAN><SPAN class=attribute><FONT color=#ff0000>filename</FONT></SPAN><SPAN> = $srcFName;  </SPAN></SPAN><LI class=""><SPAN>        }  </SPAN><LI class=alt><SPAN>          </SPAN><LI class=""><SPAN>        //$dest是文件最终要复制到的路径和文件名  </SPAN><LI class=alt><SPAN>        if (empty($destpath))  </SPAN><LI class=""><SPAN>        {  </SPAN><LI class=alt><SPAN>            $</SPAN><SPAN class=attribute><FONT color=#ff0000>dest</FONT></SPAN><SPAN> = $filename;  </SPAN></SPAN><LI class=""><SPAN>        }  </SPAN><LI class=alt><SPAN>        else   </SPAN><LI class=""><SPAN>        {  </SPAN><LI class=alt><SPAN>            //修正路径中的斜杠,将末尾的修改为/,如果末尾不是也不是/,则给末尾添加一个/  </SPAN><LI class=""><SPAN>            $</SPAN><SPAN class=attribute><FONT color=#ff0000>pathend</FONT></SPAN><SPAN> = $destpath[strlen($destpath) - 1]; //上传的目标路径的最后一个字符  </SPAN></SPAN><LI class=alt><SPAN>            if ($</SPAN><SPAN class=attribute><FONT color=#ff0000>pathend</FONT></SPAN><SPAN> == '\')  </SPAN></SPAN><LI class=""><SPAN>            {  </SPAN><LI class=alt><SPAN>                $</SPAN><SPAN class=attribute><FONT color=#ff0000>dest</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>substr_replace</FONT></SPAN><SPAN>($destpath, '/', strlen($destpath)-1).$filename;  </SPAN></SPAN><LI class=""><SPAN>            }  </SPAN><LI class=alt><SPAN>            else if ($pathend != '/')  </SPAN><LI class=""><SPAN>            {  </SPAN><LI class=alt><SPAN>                $</SPAN><SPAN class=attribute><FONT color=#ff0000>dest</FONT></SPAN><SPAN> = $destpath.'/'.$filename;  </SPAN></SPAN><LI class=""><SPAN>            }  </SPAN><LI class=alt><SPAN>            else   </SPAN><LI class=""><SPAN>            {  </SPAN><LI class=alt><SPAN>                $</SPAN><SPAN class=attribute><FONT color=#ff0000>dest</FONT></SPAN><SPAN> = $destpath.$filename;  </SPAN></SPAN><LI class=""><SPAN>            }  </SPAN><LI class=alt><SPAN>        }  </SPAN><LI class=""><SPAN>            </SPAN><LI class=alt><SPAN>        //上传文件成功  </SPAN><LI class=""><SPAN>        if (@move_uploaded_file($srcTName, $dest))  </SPAN><LI class=alt><SPAN>        {  </SPAN><LI class=""><SPAN>              </SPAN><LI class=alt><SPAN>            return true;   </SPAN><LI class=""><SPAN>        }  </SPAN><LI class=alt><SPAN>        else   </SPAN><LI class=""><SPAN>        {  </SPAN><LI class=alt><SPAN>            return false;  </SPAN><LI class=""><SPAN>        }  </SPAN><LI class=alt><SPAN>    }  </SPAN><LI class=""><SPAN>      </SPAN><LI class=alt><SPAN>    /**  </SPAN><LI class=""><SPAN>     * 取得上传文件的信息  </SPAN><LI class=alt><SPAN>     *  </SPAN><LI class=""><SPAN>     * @return array  </SPAN><LI class=alt><SPAN>     */  </SPAN><LI class=""><SPAN>    public function getFileInfo()  </SPAN><LI class=alt><SPAN>    {  </SPAN><LI class=""><SPAN>        return $this-</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>file;  </SPAN></SPAN><LI class=alt><SPAN>    }  </SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN> </SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>a</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>new</FONT></SPAN><SPAN> upload('upfile');  </SPAN></SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>fileinfo</FONT></SPAN><SPAN> = $a -</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> getFileInfo();  </SPAN></SPAN><LI class=""><SPAN>if ($</SPAN><SPAN class=attribute><FONT color=#ff0000>fileinfo</FONT></SPAN><SPAN> == false)  </SPAN></SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>    echo '没有上传文件!';  </SPAN><LI class=alt><SPAN>    exit;  </SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN> </SPAN><LI class=""><SPAN>for($</SPAN><SPAN class=attribute><FONT color=#ff0000>i</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>0</FONT></SPAN><SPAN>; $i </SPAN><SPAN class=tag><STRONG><FONT color=#006699><</FONT></STRONG></SPAN><SPAN> </SPAN><SPAN class=tag-name><STRONG><FONT color=#006699>count</FONT></STRONG></SPAN><SPAN>($fileinfo); $i++)  </SPAN></SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>    echo '正在上传 '.$fileinfo[$i]['name'].' ';  </SPAN><LI class=alt><SPAN>    if ($a -</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> save($fileinfo[$i], 'upload')) echo '完毕';  </SPAN></SPAN><LI class=""><SPAN>    else echo '失败';  </SPAN><LI class=alt><SPAN>    echo '</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>br</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>';  </SPAN></SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></FONT></STRONG></SPAN><SPAN> </SPAN></SPAN></LI></OL>
登录后复制

以上代码就是关于PHP上传类upload.php的具体使用方法。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446389.htmlTechArticle我们今天为大家带来的是关于 具体代码如下: ? php /** *我的文件上传类 * *未完成的功能: *1.对目标目录是否存在的判断 *2.如果上传时出现...
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号