50个有用的PHP工具

 

调试工具

测试和优化工具

文档工具

安全工具

图形处理

代码优化

版本控制系统

有用的拓展,使用工具和类

  • SimplePie :PHP RSS 解析程序



  • HTML Purifier :可以用来移除所有恶意代码(XSS),而且还能确保你的页面遵循W3C的标准规范。
  • TCPDF :一个用于快速生成PDF文件的PHP5函数包。
  • htmlSQL :一个是你可以方便的对HTML和XML内容方便的使用类似SQL语句进行检索的PHP类。
  • The Greatest PHP Snippet File Ever (Using Quicktext for Notepad++)
  • Creole :用PHP5编写, 是一个基于真正意义的OO的层,API接口以JDBC为基础。
  • PHPLinq :用SQL语法操作PHP数组。
  • PHPMathPublisher:作者是一位法国中学数学老师。



  • phpMyAdmin :可以通过互联网在线控制和操作MySQL。
  • PHPExcel :相当强大的MS Office Excel 文档生成类库。
  • Phormer :一个轻量级,强大的PHP在线相册。
  • xajax PHP Class Library :一个开源的PHP 类库,用来构建WEB上的Ajax 程序。
  • PHP User Class :用户管理。
  • PHP-GTK :为了证明PHP是一种远远超越网络应用程序的有效的工具而开发的。使用PHP-GTK你可以建立独立的GUI(用户图形界面)应用程序。

在线工具和资源

  • Minify! :使用 PHP5 开发的用于合并压缩 js/css 文件的应用程序。合并压缩之后的结果可通过 HTTP gzip/deflate 及一些相关头,优化客户端缓存。


  • HTTP_StaticMerger:自动“合并”CSS和JavaScript文件。
  • PHP Object Generator :一个开源的PHP代码生成器。它能够为你的PHP4/PHP5应用程序生成简洁和可测试的面向对象代码。


  • gotAPI/PHP







  • koders :开放源代码搜索。
  • PECL :含有PHP 开发组提供的不同扩展库的信息。

浏览器中的工具(Firefox插件)

  • FirePHP :是基于Firebug的一个扩展,可以用来在Firebug的console中方便的输出php的调试信息又不影响php程序的正常运行。


  • phpLangEditor :是一个用来翻译各种PHP变数的工具.



  • PHP Lookup :是一个内置的搜索栏,以帮助您快速查找引用的PHP语法。
  • PHP Manual Search :一个方便的搜索栏,从您的Web浏览器中搜索官方PHP文档

PHP框架

  • Dwoo :一个PHP5 的模板引擎。
  • CodeIgniter :帮助你编写Web 应用程序的敏捷开源PHP 框架。



  • YII Framework 一个高性能的基于组件的PHP框架。
  • Solar



  • symfony :一个开源的PHP Web框架。目的是加速Web应用的创建与维护。
  • PEAR   
  • Propel :是一个适用于PHP5的OR映射(Object Relational Mapping)框架。它允许你使用对象代替SQL来读写数据库表格中的行。
  • {{macro}} template engine

  • Zend Framework :是一个开放源代码的PHP5 开发框架,可用于来开发web 程序和服务。
  • Qcodo :是一个适用于敏捷开发基于PHP5采用MVC架构与CRUD代码生成功能的框架。


  • SAJAX :Sajax 是一种制作 Ajax 应用程序的模块化方式,通过预定的、动态的函数调用,使得应用程序的开发过程更加平滑。
  • Smarty : 用PHP实现MVC开发模式的逻辑层和表示层的模板引擎。
  • CakePHP :是一个开源的PHP on rails的full-stack框架。


  • Savant2 :是一套直接使用PHP function,但是做了合理的限制的PHP模板引擎。
  • PHPSpec :PHPSpec是一个简单而直观的PHP框架。

IDEs 和 Editors

  • PHPEclipse :相当强大的一个Eclipse下开发PHP的插件,包括的功能有:PHP语法分析,调试,代码格式化,大纲视图,代码模板定制等。


  • PhpED :内部调试器。


  • phpDesigner :针对PHP 网页的编写所设计的程序。


  • Zend Studio :一个屡获大奖的专业PHP 集成开发环境,具备功能强大的专业编辑工具和调试工具,支持PHP语法加亮显示。


  • Aptana PHP :一个开源的IDE ,主要致力于浏览器端的开发。
  • PDT :一个开发工具框架,致力于在Eclipse平台之上提供一个功能完整的PHP集成开发环境。
  • VS.Php :通过安装这个插件,我们可以在Visual Studio .Net这个市场中最流行的IDE中编译、编辑、配置PHP程序。
  • PHPEdit :这款IDE软件提供用于突出语法显示、代码提示、代码识别,一个集成的PHP调试器以及一个帮助生成器工具。

补充资源

标签: url, IT, 工具, img

开源 PHP 验证码 Securimage 带语音识别

 

 

官方网站http://www.phpcaptcha.org/
下载地址http://www.phpcaptcha.org/download/
原文地址http://www.21andy.com/blog/20100417/1886.html

验证码图 片:

<img id="captcha" src="/securimage/securimage_show.php" alt="CAPTCHA Image"  />

验证码文 本框:

<input type="text" name="captcha_code" size="10" maxlength="6" />

看不清验证码

<a href="#" rel="nofollow" target="_blank">Reload Image</a>

后端PHP验 证:

<?php
session_start();
 
include_once $_SERVER['DOCUMENT_ROOT'] . '/securimage/securimage.php';
$securimage = new Securimage();
 
if ($securimage->check($_POST['captcha_code']) == false) {
  // the code was incorrect
  // handle the error accordingly with your other error checking
 
  // or you can do something really basic like this
  die('The code you entered was incorrect.  Go back and try again.');
}

Securimage 属性

$img->image_width = 275;
$securimage->image_height = 90;
$securimage->perturbation = 0.9; // 1.0 = high distortion, higher numbers = more distortion
$securimage->image_bg_color = new Securimage_Color("#0099CC");
$securimage->text_color = new Securimage_Color("#EAEAEA");
$securimage->text_transparency_percentage = 65; // 100 = completely transparent
$securimage->num_lines = 8;
$securimage->line_color = new Securimage_Color("#0000CC");
$securimage->signature_color = new Securimage_Color(rand(0, 64), rand(64, 128), rand(128, 255));
$securimage->image_type = SI_IMAGE_PNG;
$securimage->show('backgrounds/bg5.jpg')

Securimage AJAX 完整示例

AJAX 前端HTML:

<html>
<head>
  <title>PHP Captcha with Ajax</title>
  <script type="text/javascript" src="prototype.js"></script>
 
  <script type="text/javascript">
  <!--
 
  function processForm()
  {
    $('submit').disabled = true;
    $('submit').value = "Processing.  Please Wait...";
 
    $('contact_form').request({
      onSuccess: function(transport)
      {
        if(transport.responseText.match(/^OK/) != null) {
          alert('Your message has been sent!');
          $('contact_form').reset();
        } else {
          alert(transport.responseText);
        }
 
        $('submit').value = 'Send Message';
        $('submit').disabled = false;
      }
    });
 
    return false;
  }
 
  -->
  </script>
</head>
 
<body>
 
<form id="contact_form" action="process.php" method="post" onsubmit="return processForm()">
  <div style="float: left; width: 100px">Your name:</div>
  <div style="float: left"><input type="text" name="sender_name" size="20" /></div>
  <div style="clear: both"></div>
 
  <div style="float: left; width: 100px">Email:</div>
  <div style="float: left"><input type="text" name="sender_email" size="30" /></div>
  <div style="clear: both"></div>
 
  <div style="float: left; width: 100px">Message:</div>
  <div style="float: left"><textarea name="message" rows="4" cols="30"></textarea></div>
  <div style="clear: both"></div>
 
  <div style="float: left; width: 100px">Security Image:</div>
  <div style="float: left"><img src="securimage/securimage_show.php" alt="CAPTCHA Image" /></div>
  <div style="clear: both"></div>
 
  <div style="float: left; width: 100px">Security Code:</div>
  <div style="float: left"><input type="text" name="code" size="8" /></div>
  <div style="clear: both"></div>
 
  <div style="float: left; width: 100px">&nbsp;</div>
  <div style="float: left"><input id="submit" type="submit" value="Send Message" /></div>
  <div style="clear: both"></div>
</form>
 
 
</body>
</html>

AJAX 后端PHP:

<?php


$your_email = 'you@example.com';  // Email to send message to
 
if ($_SERVER['REQUEST_METHOD'] != 'POST') exit; // Quit if it is not a form post
 
// quick way clean up incoming fields
foreach($_POST as $key => $value) $_POST[$key] = urldecode(trim($value));
 
// get form data into shorter variables
// each $_POST variable is named based on the form field's id value
$name    = $_POST['sender_name'];
$email   = $_POST['sender_email'];
$message = $_POST['message'];
$code    = $_POST['code'];
 
$errors  = array(); // array of errors
 
// basic validation
if ($name == '') {
  $errors[] = "Please enter your name";
}
 
if ($email == '') {
  $errors[] = "Please enter your email address";
} else if (strpos($email, '@') === false) {
  $errors[] = "Please enter a valid email address";
}
 
if ($message == '') {
  $errors[] = "Please enter a message to send";
}
 
 
if (sizeof($errors) == 0) {
  // only check the code if there are no other errors
  require_once 'securimage/securimage.php';
  $img = new Securimage;
  if ($img->check($code) == false) {
    $errors[] = "Incorrect security code entered";
  } // if the code checked is correct, it is destroyed to prevent re-use
}
 
if (sizeof($errors) > 0) {
  // if errors, send the error message
  $str = implode("\n", $errors);
  die("There was an error with your submission!  Please correct the following:\n\n" . $str);
}
 
$time = date('r');
$body = <<<EOD
Hi!
 
A message was sent to you from $name on $time.
 
Here is their message:
 
$message
EOD;
 
// send email
mail($your_email, "Contact Form Sent", $body, "From: $your_email\r\nReply-To: $email\r\nContent-Type: text/plain; charset=ISO-8859-1\r\nMIME-Version: 1.0");
 
die('OK'); // send success indicator
 
?>

更详细的文档请看官方网站

 

标签: div, style, float, img, left

博客RSS订阅代码大全

 

 

网站
使用
的第三方订阅:

QQ 
抓虾 
GOOGLE 
雅虎 
有道 
鲜果

代码

<a href="http://mail.qq.com/cgi-bin/feed?u=//sjolzy.cn/rss.php" target="_blank"> <img alt="QQ" border="0" src="//sjolzy.cn/uploads/images/icon_subshot02_qq.gif" vspace="2" /> </a> <br />
<a href="http://www.zhuaxia.com/add_channel.php?url=//sjolzy.cn/rss.php" target="_blank"> <img alt="抓虾" border="0" src="//sjolzy.cn/uploads/images/icon_subshot02_zhuaxia.gif" vspace="2" /> </a> <br />
<a href="http://fusion.google.com/add?feedurl=//sjolzy.cn/rss.php" target="_blank"> <img alt="GOOGLE" border="0" src="//sjolzy.cn/uploads/images/icon_subshot02_google.gif" vspace="2" /> </a> <br />
<a href="http://add.my.yahoo.com/rss?url=//sjolzy.cn/rss.php" target="_blank"> <img alt="雅虎" border="0" src="//sjolzy.cn/uploads/images/icon_subshot02_yahoo.gif" vspace="2" /> </a> <br />
<a href="http://reader.yodao.com/#url=//sjolzy.cn/rss.php" target="_blank"> <img alt="有道" border="0" src="//sjolzy.cn/uploads/images/icon_subshot02_youdao.gif" vspace="2" /> </a> <br />
<a href="http://www.xianguo.com/subscribe.php?url=//sjolzy.cn/rss.php" target="_blank"> <img alt="鲜果" border="0" src="//sjolzy.cn/uploads/images/icon_subshot02_xianguo.jpg.gif" vspace="2" /> </a> 


 

标签: href, target, border, img, alt