Maison php教程 php手册 PHP生成图片验证码demo【OOP面向对象版本】

PHP生成图片验证码demo【OOP面向对象版本】

Oct 08, 2016 pm 04:04 PM

下面是我今天下午用PHP写的一个生成图片验证码demo,仅供参考。

这个demo总共分为4个文件,具体代码如下:

1、code.html中的代码:

<span style="color: #008080;"> 1</span> <span style="color: #0000ff;"><span style="color: #ff00ff;">doctype html</span><span style="color: #0000ff;">></span>
<span style="color: #008080;"> 2</span> <span style="color: #0000ff;"><span style="color: #800000;">html </span><span style="color: #ff0000;">lang</span><span style="color: #0000ff;">="en"</span><span style="color: #0000ff;">></span>
<span style="color: #008080;"> 3</span>     <span style="color: #0000ff;"><span style="color: #800000;">head</span><span style="color: #0000ff;">></span>
<span style="color: #008080;"> 4</span>         <span style="color: #0000ff;"><span style="color: #800000;">meta </span><span style="color: #ff0000;">charset</span><span style="color: #0000ff;">="utf-8"</span> <span style="color: #0000ff;">/></span>
<span style="color: #008080;"> 5</span>         <span style="color: #0000ff;"><span style="color: #800000;">title</span><span style="color: #0000ff;">></span>登录、注册验证码生成<span style="color: #0000ff;"></span><span style="color: #800000;">title</span><span style="color: #0000ff;">></span>
<span style="color: #008080;"> 6</span>     <span style="color: #0000ff;"></span><span style="color: #800000;">head</span><span style="color: #0000ff;">></span>
<span style="color: #008080;"> 7</span>     <span style="color: #0000ff;"><span style="color: #800000;">body</span><span style="color: #0000ff;">></span>
<span style="color: #008080;"> 8</span>          <span style="color: #008000;"><!--</span>
<span style="color: #008080;"> 9</span> <span style="color: #008000;">             * @Description  网站登录/注册验证码生成类
</span><span style="color: #008080;">10</span> <span style="color: #008000;">             * @Author  赵一鸣
</span><span style="color: #008080;">11</span> <span style="color: #008000;">             * @OnlineDemo http://www.zymseo.com/demo/verificationcode/code.html
</span><span style="color: #008080;">12</span> <span style="color: #008000;">             * @Date  2016年10月6日 
</span><span style="color: #008080;">13</span>          <span style="color: #008000;">--></span>
<span style="color: #008080;">14</span>         <span style="color: #0000ff;"><span style="color: #800000;">form </span><span style="color: #ff0000;">action</span><span style="color: #0000ff;">="checkcode.php"</span><span style="color: #ff0000;"> method</span><span style="color: #0000ff;">="post"</span><span style="color: #0000ff;">></span>
<span style="color: #008080;">15</span>             <span style="color: #0000ff;"><span style="color: #800000;">input </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="code"</span> <span style="color: #0000ff;">/><span style="color: #800000;">br</span><span style="color: #0000ff;">/></span>
<span style="color: #008080;">16</span>             <span style="color: #0000ff;"><span style="color: #800000;">img </span><span style="color: #ff0000;">src</span><span style="color: #0000ff;">="showcode.php"</span><span style="color: #ff0000;"> onclick</span><span style="color: #0000ff;">="this.setAttribute('src','showcode.php?'+Math.random())"</span> <span style="color: #0000ff;">/></span>
<span style="color: #008080;">17</span>             <span style="color: #0000ff;"><span style="color: #800000;">span</span><span style="color: #0000ff;">></span>看不清?点击图片即可切换验证码<span style="color: #0000ff;"></span><span style="color: #800000;">span</span><span style="color: #0000ff;">><span style="color: #800000;">br</span><span style="color: #0000ff;">/></span>
<span style="color: #008080;">18</span>             <span style="color: #0000ff;"><span style="color: #800000;">input </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="submit"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="sub"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="登录/注册"</span> <span style="color: #0000ff;">/></span>
<span style="color: #008080;">19</span>         <span style="color: #0000ff;"></span><span style="color: #800000;">form</span><span style="color: #0000ff;">></span>
<span style="color: #008080;">20</span>     <span style="color: #0000ff;"></span><span style="color: #800000;">body</span><span style="color: #0000ff;">></span>
<span style="color: #008080;">21</span> <span style="color: #0000ff;"></span><span style="color: #800000;">html</span><span style="color: #0000ff;">></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
Copier après la connexion

2、createcode.class.php中的代码:

<span style="color: #008080;"> 1</span> <span style="color: #000000;">php
</span><span style="color: #008080;"> 2</span>     <span style="color: #008000;">/*</span><span style="color: #008000;">*
</span><span style="color: #008080;"> 3</span> <span style="color: #008000;">     * @Description  网站登录/注册验证码生成类
</span><span style="color: #008080;"> 4</span> <span style="color: #008000;">     * @Author  赵一鸣
</span><span style="color: #008080;"> 5</span> <span style="color: #008000;">     * @OnlineDemo http://www.zymseo.com/demo/verificationcode/code.html
</span><span style="color: #008080;"> 6</span> <span style="color: #008000;">     * @Date  2016年10月6日 
</span><span style="color: #008080;"> 7</span>      <span style="color: #008000;">*/</span>
<span style="color: #008080;"> 8</span>     <span style="color: #0000ff;">class</span><span style="color: #000000;"> Createcode{
</span><span style="color: #008080;"> 9</span>         <span style="color: #008000;">//</span><span style="color: #008000;">画布资源</span>
<span style="color: #008080;">10</span>         <span style="color: #0000ff;">public</span> <span style="color: #800080;">$img</span><span style="color: #000000;">;
</span><span style="color: #008080;">11</span>         <span style="color: #008000;">//</span><span style="color: #008000;">画布宽度</span>
<span style="color: #008080;">12</span>         <span style="color: #0000ff;">private</span> <span style="color: #800080;">$img_width</span><span style="color: #000000;">;
</span><span style="color: #008080;">13</span>         <span style="color: #008000;">//</span><span style="color: #008000;">画布高度</span>
<span style="color: #008080;">14</span>         <span style="color: #0000ff;">private</span> <span style="color: #800080;">$img_height</span><span style="color: #000000;">;
</span><span style="color: #008080;">15</span>         <span style="color: #008000;">//</span><span style="color: #008000;">画布颜色</span>
<span style="color: #008080;">16</span>         <span style="color: #0000ff;">private</span> <span style="color: #800080;">$img_bgcolor</span><span style="color: #000000;">;
</span><span style="color: #008080;">17</span>         <span style="color: #008000;">//</span><span style="color: #008000;">验证码文字内容</span>
<span style="color: #008080;">18</span>         <span style="color: #0000ff;">private</span> <span style="color: #800080;">$str_content</span><span style="color: #000000;">;
</span><span style="color: #008080;">19</span>         <span style="color: #008000;">//</span><span style="color: #008000;">生成的验证码内容</span>
<span style="color: #008080;">20</span>         <span style="color: #0000ff;">private</span> <span style="color: #800080;">$code_content</span><span style="color: #000000;">;
</span><span style="color: #008080;">21</span>         <span style="color: #008000;">//</span><span style="color: #008000;">验证码颜色</span>
<span style="color: #008080;">22</span>         <span style="color: #0000ff;">private</span> <span style="color: #800080;">$code_content_color</span><span style="color: #000000;">;
</span><span style="color: #008080;">23</span>         <span style="color: #008000;">//</span><span style="color: #008000;">构造函数</span>
<span style="color: #008080;">24</span>         <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span> __construct(<span style="color: #800080;">$img_width</span>,<span style="color: #800080;">$img_height</span>,<span style="color: #800080;">$str_content</span>,<span style="color: #800080;">$code_content_color</span><span style="color: #000000;">){
</span><span style="color: #008080;">25</span>             <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$this</span>-><span style="color: #000000;">gdcheck()){
</span><span style="color: #008080;">26</span>                 <span style="color: #800080;">$this</span>->img_width = <span style="color: #800080;">$img_width</span><span style="color: #000000;">;
</span><span style="color: #008080;">27</span>                 <span style="color: #800080;">$this</span>->img_height = <span style="color: #800080;">$img_height</span><span style="color: #000000;">;
</span><span style="color: #008080;">28</span>                 <span style="color: #800080;">$this</span>->str_content = <span style="color: #800080;">$str_content</span><span style="color: #000000;">;
</span><span style="color: #008080;">29</span>                 <span style="color: #800080;">$this</span>->code_content_color = <span style="color: #800080;">$code_content_color</span><span style="color: #000000;">;
</span><span style="color: #008080;">30</span>                 <span style="color: #800080;">$this</span>-><span style="color: #000000;">get_code();
</span><span style="color: #008080;">31</span>                 <span style="color: #800080;">$this</span>-><span style="color: #000000;">session_code();
</span><span style="color: #008080;">32</span> <span style="color: #000000;">            }
</span><span style="color: #008080;">33</span> <span style="color: #000000;">        }
</span><span style="color: #008080;">34</span>         <span style="color: #008000;">//</span><span style="color: #008000;">生成画布</span>
<span style="color: #008080;">35</span>         <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> get_img(){
</span><span style="color: #008080;">36</span>             <span style="color: #008000;">//</span><span style="color: #008000;">定义画布</span>
<span style="color: #008080;">37</span>             <span style="color: #800080;">$this</span>->img = imagecreatetruecolor(<span style="color: #800080;">$this</span>->img_width, <span style="color: #800080;">$this</span>-><span style="color: #000000;">img_height);
</span><span style="color: #008080;">38</span>             <span style="color: #008000;">//</span><span style="color: #008000;">画布背景色</span>
<span style="color: #008080;">39</span>             <span style="color: #800080;">$this</span>->img_bgcolor = imagecolorallocate(<span style="color: #800080;">$this</span>->img, <span style="color: #008080;">mt_rand</span>(0,255), <span style="color: #008080;">mt_rand</span>(0,255), <span style="color: #008080;">mt_rand</span>(0,255<span style="color: #000000;">));
</span><span style="color: #008080;">40</span>             <span style="color: #008000;">//</span><span style="color: #008000;">给画图填充背景色</span>
<span style="color: #008080;">41</span>             imagefill(<span style="color: #800080;">$this</span>->img, 0, 0, <span style="color: #800080;">$this</span>-><span style="color: #000000;">img_bgcolor);
</span><span style="color: #008080;">42</span>             <span style="color: #008000;">//</span><span style="color: #008000;">取得画布的宽高</span>
<span style="color: #008080;">43</span>             <span style="color: #800080;">$img_width</span> = imagesx(<span style="color: #800080;">$this</span>-><span style="color: #000000;">img);
</span><span style="color: #008080;">44</span>             <span style="color: #800080;">$img_height</span> = imagesy(<span style="color: #800080;">$this</span>-><span style="color: #000000;">img);
</span><span style="color: #008080;">45</span>             <span style="color: #008000;">//</span><span style="color: #008000;">画布中插入验证码</span>
<span style="color: #008080;">46</span>             imagestring(<span style="color: #800080;">$this</span>->img, 5, (<span style="color: #800080;">$this</span>->img_width/3), (<span style="color: #800080;">$this</span>->img_height/2.5), <span style="color: #800080;">$this</span>->code_content, imagecolorallocate(<span style="color: #800080;">$this</span>->img, <span style="color: #008080;">hexdec</span>(<span style="color: #008080;">substr</span>(<span style="color: #800080;">$this</span>->code_content_color, 1,2)), <span style="color: #008080;">hexdec</span>(<span style="color: #008080;">substr</span>(<span style="color: #800080;">$this</span>->code_content_color, 3,2)), <span style="color: #008080;">hexdec</span>(<span style="color: #008080;">substr</span>(<span style="color: #800080;">$this</span>->code_content_color, 5,2<span style="color: #000000;">))));
</span><span style="color: #008080;">47</span>             <span style="color: #008000;">//</span><span style="color: #008000;">画布中插入像素点</span>
<span style="color: #008080;">48</span>             <span style="color: #800080;">$this</span>-><span style="color: #000000;">get_pix();
</span><span style="color: #008080;">49</span>             <span style="color: #008000;">//</span><span style="color: #008000;">画布中插入直线</span>
<span style="color: #008080;">50</span>             <span style="color: #800080;">$this</span>-><span style="color: #000000;">get_line();
</span><span style="color: #008080;">51</span>             <span style="color: #008000;">//</span><span style="color: #008000;">画布显示</span>
<span style="color: #008080;">52</span>             <span style="color: #008080;">header</span>('Content-type:image/png'<span style="color: #000000;">);
</span><span style="color: #008080;">53</span>             imagepng(<span style="color: #800080;">$this</span>-><span style="color: #000000;">img);
</span><span style="color: #008080;">54</span> <span style="color: #000000;">        }
</span><span style="color: #008080;">55</span>         <span style="color: #008000;">//</span><span style="color: #008000;">生成验证码</span>
<span style="color: #008080;">56</span>         <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> get_code(){
</span><span style="color: #008080;">57</span>             <span style="color: #800080;">$str_content_len</span> = <span style="color: #008080;">strlen</span>(<span style="color: #800080;">$this</span>-><span style="color: #000000;">str_content);
</span><span style="color: #008080;">58</span>             <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$i</span>=0;<span style="color: #800080;">$i</span>$i++<span style="color: #000000;">){
</span><span style="color: #008080;">59</span>                 <span style="color: #800080;">$this</span>->code_content .= <span style="color: #008080;">substr</span>(<span style="color: #800080;">$this</span>->str_content, <span style="color: #008080;">mt_rand</span>(0,<span style="color: #800080;">$str_content_len</span>-1),1<span style="color: #000000;">);
</span><span style="color: #008080;">60</span> <span style="color: #000000;">            }
</span><span style="color: #008080;">61</span> <span style="color: #000000;">        }
</span><span style="color: #008080;">62</span>         <span style="color: #008000;">//</span><span style="color: #008000;">生成像素点</span>
<span style="color: #008080;">63</span>         <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> get_pix(){
</span><span style="color: #008080;">64</span>             <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$j</span>=0;<span style="color: #800080;">$j</span>$j++<span style="color: #000000;">){
</span><span style="color: #008080;">65</span>                 <span style="color: #800080;">$image_pix</span> .= imagesetpixel(<span style="color: #800080;">$this</span>->img, <span style="color: #008080;">mt_rand</span>(0,<span style="color: #800080;">$this</span>->img_width), <span style="color: #008080;">mt_rand</span>(0,<span style="color: #800080;">$this</span>->img_height), imagecolorallocate(<span style="color: #800080;">$this</span>->img, <span style="color: #008080;">mt_rand</span>(0,255), <span style="color: #008080;">mt_rand</span>(0,255), <span style="color: #008080;">mt_rand</span>(0,255<span style="color: #000000;">)));
</span><span style="color: #008080;">66</span> <span style="color: #000000;">            }
</span><span style="color: #008080;">67</span>             <span style="color: #0000ff;">return</span> <span style="color: #800080;">$image_pix</span><span style="color: #000000;">;
</span><span style="color: #008080;">68</span> <span style="color: #000000;">        }
</span><span style="color: #008080;">69</span>         <span style="color: #008000;">//</span><span style="color: #008000;">生成直线</span>
<span style="color: #008080;">70</span>         <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> get_line(){
</span><span style="color: #008080;">71</span>             <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$l</span>=0;<span style="color: #800080;">$l</span>$l++<span style="color: #000000;">){
</span><span style="color: #008080;">72</span>                 <span style="color: #800080;">$img_line</span> .= imageline(<span style="color: #800080;">$this</span>->img, <span style="color: #008080;">mt_rand</span>(0,<span style="color: #800080;">$this</span>->img_width), <span style="color: #008080;">mt_rand</span>(0,<span style="color: #800080;">$this</span>->img_height), <span style="color: #008080;">mt_rand</span>(0,<span style="color: #800080;">$this</span>->img_width), <span style="color: #008080;">mt_rand</span>(0,<span style="color: #800080;">$this</span>->img_height), imagecolorallocate(<span style="color: #800080;">$this</span>->img, <span style="color: #008080;">mt_rand</span>(0,255), <span style="color: #008080;">mt_rand</span>(0,255), <span style="color: #008080;">mt_rand</span>(0,255<span style="color: #000000;">)));
</span><span style="color: #008080;">73</span> <span style="color: #000000;">            }
</span><span style="color: #008080;">74</span>             <span style="color: #0000ff;">return</span> <span style="color: #800080;">$img_line</span><span style="color: #000000;">;
</span><span style="color: #008080;">75</span> <span style="color: #000000;">        }
</span><span style="color: #008080;">76</span>         <span style="color: #008000;">//</span><span style="color: #008000;">session存储验证码</span>
<span style="color: #008080;">77</span>         <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> session_code(){
</span><span style="color: #008080;">78</span>             <span style="color: #008080;">session_start</span><span style="color: #000000;">();
</span><span style="color: #008080;">79</span>             <span style="color: #800080;">$_SESSION</span>['code'] = <span style="color: #800080;">$this</span>-><span style="color: #000000;">code_content;
</span><span style="color: #008080;">80</span> <span style="color: #000000;">        }
</span><span style="color: #008080;">81</span>         <span style="color: #008000;">//</span><span style="color: #008000;">判断程序是否支持GD库</span>
<span style="color: #008080;">82</span>         <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> gdcheck(){
</span><span style="color: #008080;">83</span>             <span style="color: #0000ff;">if</span>(<span style="color: #008080;">extension_loaded</span>('gd'<span style="color: #000000;">)){
</span><span style="color: #008080;">84</span>                 <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #000000;">;
</span><span style="color: #008080;">85</span>             }<span style="color: #0000ff;">else</span><span style="color: #000000;">{
</span><span style="color: #008080;">86</span>                 <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #000000;">;
</span><span style="color: #008080;">87</span>                 <span style="color: #0000ff;">exit</span><span style="color: #000000;">();
</span><span style="color: #008080;">88</span> <span style="color: #000000;">            }
</span><span style="color: #008080;">89</span> <span style="color: #000000;">        }
</span><span style="color: #008080;">90</span>     }
Copier après la connexion

3、checkcode.php中的代码:

<span style="color: #000000;">php
</span><span style="color: #008000;">/*</span><span style="color: #008000;">*
 * @Description  网站登录/注册验证码生成类
 * @Author  赵一鸣
 * @OnlineDemo http://www.zymseo.com/demo/verificationcode/code.html
 * @Date  2016年10月6日
 </span><span style="color: #008000;">*/</span>
    <span style="color: #008080;">header</span>('Content-type:text/html;charset="utf-8"'<span style="color: #000000;">);
    </span><span style="color: #008080;">session_start</span><span style="color: #000000;">();
    </span><span style="color: #0000ff;">if</span>(<span style="color: #800080;">$_POST</span>['code']!=''<span style="color: #000000;">){
        </span><span style="color: #0000ff;">if</span>(<span style="color: #800080;">$_SESSION</span>['code']==<span style="color: #800080;">$_POST</span>['code'<span style="color: #000000;">]){
            </span><span style="color: #0000ff;">echo</span> '<span style="color: #000000;"><script type="text/javascript">
                    alert("验证码填写成功");
                    history.go(-1);
                </script></span>'<span style="color: #000000;">;
        }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{
            </span><span style="color: #0000ff;">echo</span> '<span style="color: #000000;"><script type="text/javascript">
                    alert("验证码填写失败");
                    history.go(-1);
                </script></span>'<span style="color: #000000;">;
        }
    }</span>
Copier après la connexion

4、showcode.php中的代码:

<span style="color: #008080;"> 1</span> <span style="color: #000000;">php
</span><span style="color: #008080;"> 2</span> <span style="color: #008000;">/*</span><span style="color: #008000;">*
</span><span style="color: #008080;"> 3</span> <span style="color: #008000;"> * @Description  网站登录/注册验证码生成类
</span><span style="color: #008080;"> 4</span> <span style="color: #008000;"> * @Author  赵一鸣
</span><span style="color: #008080;"> 5</span> <span style="color: #008000;"> * @OnlineDemo http://www.zymseo.com/demo/verificationcode/code.html
</span><span style="color: #008080;"> 6</span> <span style="color: #008000;"> * @Date  2016年10月6日
</span><span style="color: #008080;"> 7</span>  <span style="color: #008000;">*/</span>
<span style="color: #008080;"> 8</span>     <span style="color: #0000ff;">function</span> __autoload(<span style="color: #800080;">$classname</span><span style="color: #000000;">){
</span><span style="color: #008080;"> 9</span>         <span style="color: #0000ff;">include</span> <span style="color: #008080;">strtolower</span>(<span style="color: #800080;">$classname</span>).'.class.php'<span style="color: #000000;">;
</span><span style="color: #008080;">10</span> <span style="color: #000000;">    }
</span><span style="color: #008080;">11</span>     <span style="color: #008000;">//</span><span style="color: #008000;">定义验证码的取值范围</span>
<span style="color: #008080;">12</span>     <span style="color: #800080;">$str_content</span> = 'abcdefghijklmnopqrstuvwxyz0123456789'<span style="color: #000000;">;
</span><span style="color: #008080;">13</span>     <span style="color: #008000;">//</span><span style="color: #008000;">验证码文字颜色</span>
<span style="color: #008080;">14</span>     <span style="color: #800080;">$code_content_color</span> = '#ffffff'<span style="color: #000000;">;
</span><span style="color: #008080;">15</span>     <span style="color: #008000;">//</span><span style="color: #008000;">初始化对象</span>
<span style="color: #008080;">16</span>     <span style="color: #800080;">$code</span> = <span style="color: #0000ff;">new</span> Createcode(100,30,<span style="color: #800080;">$str_content</span>,<span style="color: #800080;">$code_content_color</span><span style="color: #000000;">);
</span><span style="color: #008080;">17</span>     <span style="color: #800080;">$code</span>->get_img();
Copier après la connexion

原文地址:http://www.zymseo.com/php/334.html

转载请注明出处!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)