Filed under PHP
I’ve compiled a small list of some useful code snippets which might help you when writing your PHP scripts…Email address check
Checks for a valid email address using the php-email-address-validation class.Source and docs: http://code.google.com/p/php-email-address-validation/
01.include('EmailAddressValidator.php');02. 03.$validator = new EmailAddressValidator;04.if ($validator->check_email_address('test@example.org')) {05. // Email address is technically valid06.}07.else {08. // Email not valid09.}Random password generator
PHP password generator is a complete, working random password generation function for PHP. It allows the developer to customize the password: set its length and strength. Just include this function anywhere in your code and then use it.Source : http://www.webtoolkit.info/php-random-password-generator.html
01.function generatePassword($length=9, $strength=0) {02. $vowels = 'aeuy';03. $consonants = 'bdghjmnpqrstvz';04. if ($strength & 1) {05. $consonants .= 'BDGHJLMNPQRSTVWXZ';06. }07. if ($strength & 2) {08. $vowels .= "AEUY";09. }10. if ($strength & 4) {11. $consonants .= '23456789';12. }13. if ($strength & 8) {14. $consonants .= '@#$%';15. }16. 17. $password = '';18. $alt = time() % 2;19. for ($i = 0; $i < $length; $i++) {20. if ($alt == 1) {21. $password .= $consonants[(rand() % strlen($consonants))];22. $alt = 0;23. } else {24. $password .= $vowels[(rand() % strlen($vowels))];25. $alt = 1;26. }27. }28. return $password;29.}Get IP address
Returns the real IP address of a visitor, even when connecting via a proxy.Source : http://roshanbh.com.np/2007/12/getting-real-ip-address-in-php.html
01.function getRealIpAddr(){02. if (!empty($_SERVER['HTTP_CLIENT_IP'])){03. //check ip from share internet04. $ip = $_SERVER['HTTP_CLIENT_IP'];05. }06. elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){07. //to check ip is pass from proxy08. $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];09. }10. else{11. $ip = $_SERVER['REMOTE_ADDR'];12. }13. return $ip;14.}XSL transformation
PHP5 versionSource : http://www.tonymarston.net/php-mysql/xsl.html
01.$xp = new XsltProcessor();02. 03.// create a DOM document and load the XSL stylesheet04.$xsl = new DomDocument;05.$xsl->load('something.xsl');06. 07.// import the XSL styelsheet into the XSLT process08.$xp->importStylesheet($xsl);09. 10.// create a DOM document and load the XML datat11.$xml_doc = new DomDocument;12.$xml_doc->load('something.xml');13. 14.// transform the XML into HTML using the XSL file15.if ($html = $xp->transformToXML($xml_doc)) {16. echo $html;17.}18.else {19. trigger_error('XSL transformation failed.', E_USER_ERROR);20.} // if01.function xml2html($xmldata, $xsl){02. /* $xmldata -> your XML */03. /* $xsl -> XSLT file */04. 05. $arguments = array('/_xml' => $xmldata);06. $xsltproc = xslt_create();07. xslt_set_encoding($xsltproc, 'ISO-8859-1');08. $html = xslt_process($xsltproc, $xmldata, $xsl, NULL, $arguments);09. 10. if (empty($html)) {11. die('XSLT processing error: '. xslt_error($xsltproc));12. }13. xslt_free($xsltproc);14. return $html;15.}16. 17.echo xml2html('myxmml.xml', 'myxsl.xsl');Force downloading of a file
Forces a user to download a file, for e.g you have an image but you want the user to download it instead of displaying it in his browser.01.header("Content-type: application/octet-stream");02. 03.// displays progress bar when downloading (credits to Felix ;-))04.header("Content-Length: " . filesize('myImage.jpg'));05. 06.// file name of download file07.header('Content-Disposition: attachment; filename="myImage.jpg"');08. 09.// reads the file on the server10.readfile('myImage.jpg');String encoding to prevent harmful code
Web applications face any number of threats; one of them is cross-site scripting and related injection attacks. The Reform library attempts to provide a solid set of functions for encoding output for the most common context targets in web applications (e.g. HTML, XML, JavaScript, etc)Source : http://phed.org/reform-encoding-library/
1.include('Reform.php');2.Reform::HtmlEncode('a potentially harmful string');Sending mail
Using PHPMailerPHPMailer a powerful email transport class with a big features and small footprint that is simple to use and integrate into your own software.
Source : http://phpmailer.codeworxtech.com/
01.include("class.phpmailer.php");02.$mail = new PHPMailer();03.$mail->From = 'noreply@htmlblog.net';04.$mail->FromName = 'HTML Blog';05.$mail->Host = 'smtp.site.com';06.$mail->Mailer = 'smtp';07.$mail->Subject = 'My Subject';08.$mail->IsHTML(true);09.$body = 'Hello<br/>How are you ?';10.$textBody = 'Hello, how are you ?';11.$mail->Body = $body;12.$mail->AltBody = $textBody;13.$mail->AddAddress('asvin [@] gmail.com');14.if(!$mail->Send())15. echo 'There has been a mail error !';Swift Mailer is an alternative to PHPMailer and is a fully OOP library for sending e-mails from PHP websites and applications.
Source : http://swiftmailer.org/
01.// include classes02.require_once "lib/Swift.php";03.require_once "lib/Swift/Connection/SMTP.php";04. 05.$swift =& new Swift(new Swift_Connection_SMTP("smtp.site.com", 25));06.$message =& new Swift_Message("My Subject", "Hello<br/>How are you ?", "text/html");07.if ($swift->send($message, "asvin [@] gmail.com", "noreply@htmlblog.net")){08. echo "Message sent";09.}10.else{11. echo 'There has been a mail error !';12.}13. 14.//It's polite to do this when you're finished15.$swift->disconnect();Uploading of files
Using class.upload.php from Colin VerotSource : http://www.verot.net/php_class_upload.htm
1.$uploadedImage = new Upload($_FILES['uploadImage']);2. 3.if ($uploadedImage->uploaded) {4. $uploadedImage->Process('myuploads');5. if ($uploadedImage->processed) {6. echo 'file has been uploaded';7. }8.}List files in directory
List all files in a directory and return an array.Source : http://www.laughing-buddha.net/jon/php/dirlist/
01.function dirList ($directory) {02. // create an array to hold directory list03. $results = array();04. 05. // create a handler for the directory06. $handler = opendir($directory);07. 08. // keep going until all files in directory have been read09. while ($file = readdir($handler)) {10. 11. // if $file isn't this directory or its parent,12. // add it to the results array13. if ($file != '.' && $file != '..')14. $results[] = $file;15. }16. 17. // tidy up: close the handler18. closedir($handler);19. 20. // done!21. return $results;22.}Querying RDBMS with MDB2 (for e.g MySQL)
PEAR MDB2 provides a common API for all supported RDBMS.Source : http://pear.php.net/package/MDB2
01.// include MDB2 class02.include('MDB2.php');03. 04.// connection info05.$db =& MDB2::factory('mysql://username:password@host/database');06.// set fetch mode07.$db->setFetchMode(MDB2_FETCHMODE_ASSOC);08. 09.// querying data10.$query = 'SELECT id,label FROM myTable';11.$result = $db->queryAll($query);12. 13.// inserting data14.// prepare statement15.$statement = $db->prepare('INSERT INTO mytable(id,label) VALUES(?,?)');16.// our data17.$sqlData = array($id, $label);18.// execute19.$statement->execute($sqlData);20.$statement->free();21. 22.// disconnect from db23.$db->disconnect();
0 komentar:
Posting Komentar