Home > Store

PHP Developer's Cookbook, 2nd Edition

Register your product to gain access to bonus material or receive a coupon.

PHP Developer's Cookbook, 2nd Edition


  • Sorry, this book is no longer in print.
Not for Sale


  • Copyright 2002
  • Dimensions: 7-3/8" x 9-1/8"
  • Pages: 504
  • Edition: 2nd
  • Book
  • ISBN-10: 0-672-32325-7
  • ISBN-13: 978-0-672-32325-6

PHP Developer's Cookbook is a task-oriented book intended to offer solutions to the daily problems and goals the PHP developer faces.

In addition to a brief introduction to PHP, the main content of the book is presented in a problem and solution format, logically organized on a topic-by-topic basis. Each question specifies a goal, and the following text provides a detailed solution that achieves the stated goal along with any additional related information.

After a crash course in the basics, the PHP Developer's Cookbook covers more advanced development topics.

Sample Content

Table of Contents



1. Manipulating Strings.

Introduction. Dissecting Strings. Using the Ternary Operator. Swapping Variables. Converting ASII Codes into Characters. Splitting a String by Characters. Reversing Parts of a String. Converting the Case of a String. Removing Whitespace from a String. Escaping Special Characters in a String. Reading a Comma-Delimited Text File. Parsing a URL. Fuzzy Matching. Creating a Unique Identifier. Encrypting a String. Converting Between Cyrillic Character Sets.

2. Working with Numbers, Dates, and Times.

Introduction. Checking Whether a Variable Is a Valid Number. Working on a Series of Numbers. Working with Numbers That Are Not Double or Long. Rounding Arbitrary-Precision Numbers. Converting Numbers Between Different Bases. Finding the Log of a Number. Finding the Binary Representation of a Number. Converting Between Arabic and Roman Numerals. Validating Credit Card Numbers. Formatting Numbers. Converting Between Radians and Degrees. Calculating Cosines, Sines, and Tangents. Generating Random Numbers. Generating Unique Random Numbers. Weighting Random Numbers. Loading Today's Date into an Array. Checking the Validity of a Date. Determining Date Intervals. Finding the Date and Time for Different Locales. Formatting Timestamps. Parsing Dates and Times from Strings. Performing Benchmarks. Halting Program Execution.

3. Using Arrays.

Introduction. Declaring an Array. Printing Out an Array. Eliminating Duplicate Elements. Enlarging or Shrinking an Array. Merging Arrays. Iteratively Processing Elements in an Array. Accessing the Current Element in an Array. Accessing Different Areas of an Array. Searching an Array. Searching for the Different Elements in Two Arrays. Randomizing the Elements of an Array. —Determining the Union, Intersection, or Difference Between Two Arrays. Sorting an Array. Sorting Sensibly. Reversing Order. Perl-Based Array Manipulation Features.

4. PHP's Built-in Arrays and Constants.

Working with File Constants. PHP's OS and Version Constants. —Setting Breakpoints by Using PHP's Error Constants. Defining Your Own PHP Constants. Working with PHP Globals. Accessing Data Through PHP's Built-in Arrays.

5. Matching Data with Regular Expressions.

Introduction. Assigning the Results of a Pattern Replacement. Using Perl-Compatible Regular Expressions in PHP. —Incompatibilities Between the PCRE Library and Perl Regular Expressions. Matching over Multiple Lines. Finding a Specific Occurrence of a Match. Working with Delimited Records. Extracting Specific Lines. Checking Characters. Validating Web Data. Validating an E-mail Address. Checking the Syntax of a Regular Expression. Checking for Duplicate Words. Abbreviating Input.

6. File Access.

Introduction. Checking Whether a File Exists. Checking File Permissions. Creating a Temporary File. Storing a File into Your Program. Opening a File. Handling Binary Data Safely. Flushing the Cache. Locking Files. —Getting the Free Space Available on a Specified Drive. Displaying a Textfile to the User. Manipulating Standard I/O Streams. Reading a File Line-by-Line. Working with a File Word-by-Word. Processing a File in Reverse. Parsing a File with Pattern Separators. Changing a Specific Record. Accessing Fixed-Length Records. Extracting a Single Line from a File. Truncating a File. Counting the Number of Lines in a File. Extracting a Random Line from a File. Randomizing Lines and Words. Creating Configuration Files.

7. Working with Files in Directories.

Introduction. Working with Timestamps. Removing a File. Copying or Moving a File. Keeping Track of Filenames. Parsing the Parts of a Filename. Loading All Files in a Directory into an Array. Searching a Filesystem. Processing a Directory File-by-File. Recursively Deleting a Directory. Creating a Search Engine.

8. Functions.

Introduction. Passing a Default Value to a Function. Accessing Variables Outside a Function. Returning Values from a Function. Passing Arguments by Reference. Retaining a Variable's Value Between Function Calls. Returning More Than One Value from a Function. Declaring Functions Dynamically. Dynamically Creating Anonymous Functions. Calling Functions Indirectly. Fetching an Arbitrary Number of Parameters.

9. Classes.

Introduction. Creating a Class. Accessing Variables from Within a Class. Inheritance. Making Variables or Functions Public and Private. Creating a Constructor. Returning a Different Object from a Constructor. Creating a Class Destructor. —Using Functions in a Class Without Initializing an Object. Indirectly Accessing a Method of the Parent Class. Returning an Error Object on Failure.

10. Maintaining Sessions with PHP.

Introduction. Creating a Session Variable with PHP. Saving Sessions Using a Database. Setting the Session Name. Setting and Getting Cookie Parameters. Unregistering a Variable in a Session. Deleting All the Session Variables. Using Objects As Session Variables. Encode That Data. —Creating a Shopping Cart Using Sessions and PHP. Serialization. WDDX Serialization. WDDX Deserialization.

11. Interacting with Web Pages and Servers.

Introduction. Fetching a Web Page. Performing an SSL Transaction. Performing an HTTP POST Request. Performing an HTTP File Upload. Sending Cookies with Your Request. —Excluding or Including the Header from a cURL Transfer. Connecting Through a Proxy Server. Getting Information Regarding a cURL Transfer. Interacting with Frames. Extracting All the URLs from a Web Page. Finding Stale and Fresh Links. Getting New Links from a Web Page. Mirroring a Web Page. Parsing and Formatting a Log File.


12. Creating a Database-Independent API with PHP.

Introduction. The Glue. The MySQL Module. The mSQL Module. The Oracle Module. The MSSQL Module. The ODBC Module. The PostgreSQL Module. The InterBase Module. The Sybase Module.


13. Interfacing with Other Programs and Languages.

Introduction. Capturing the Output of Another Program. Printing the Output of a Program. Opening a Pipe to Another Program. Working with Sockets. Working with COM Objects. Accessing Predefined Java Methods and Classes. —Accessing Your Own Custom Java Methods and Classes.

14. Communicating with Sockets.

Introduction. A TCP Client. A TCP Server. Reading and Writing to Sockets. A UDP Client. A UDP Server. UNIX Domain Sockets. Handling Multiple IP Addresses. Nonblocking Sockets. Reading and Writing I/O Vectors. Controlling Data Transfer Timeout. Getting Socket Status.

15. Handling E-mail.

Introduction. Opening an IMAP Mailbox. Checking Whether an IMAP Stream Is Still Active. Converting Messages to a Readable Format. Sending E-mail. Sending Attachments with PHP. Sending Binary Attachments. Sending HTML E-mail. Getting the Size of a Message. Parsing Mail Headers.

16. Working with SNMP Objects. Introduction. Setting an SNMP Object. Getting an SNMP Object. Fetching All SNMP Objects into an Array.
17. LDAP.

Introduction. Adding an Entry to an LDAP Server. Removing an Entry from an LDAP Server. Executing a Query and Getting the Results. Freeing an LDAP Result Set. Performing a Tree Search. Sorting Search Results.


18. Creating and Managing Images.

Creating an Image with GD. Opening a Preexisting Image. Getting the Size of an Image. Adding Text to Images. Getting the Color of a Certain Part of an Image. Getting the Total Number of Colors in an Image. Making a GIF/PNG Transparent. Copy One Part of an Image to Another. Drawing Rectangles. Drawing Polygons. Drawing an Arc. Making an Image Interlaced. Dynamic Buttons. Using TrueType Fonts.

19. HTML.

Introduction. Stripping HTML Tags. Converting ASCII to HTML. Generating <select> Lists. Generating JavaScript Rollovers. Creating HTML Templates.

20. XML.

Introduction. Error Handling. Parsing a Simple XML Document. Parsing an XML Document into an Array. Mapping XML Tags. Setting Up an External Reference Entity Handler. Searching XML. Saving Memory. Setting and Getting Options. Parsing Using the DOM-XML Functions. Building an XML Document. Transforming XML with an XSL Template. Filtering All Output Through an XSL File.


21. Zend API.

Introduction. Getting Arguments. Modifying Function Arguments. Returning Strings or Numbers from a Function. Returning Arrays and Objects from Functions. Adding a Function to PHP. Creating Resource Identifiers. Fetching Resource Identifiers. Looping Through Arrays. Creating a PHP Module. Adding Your File to the PHP Installation.

Appendix A - PHP Installation.
Appendix B - Troubleshooting with PHP.

Common Errors and What They Mean. 0 is not a * Result index. Call to undefined function: *. PHP Timed out! Premature End of script headers. Headers already sent. Techniques to Cut Down on Errors and Bugs.

Appendix C. PHP Online Resources.

The Official PHP Web Site. The Zend Web Site. PHPBuilder. PHPWizard.net. The PHP Class Repository. Weberdev. DevShed.

Appendix D. Migrating to PHP 4.

Static Variable and Default Argument Initializers Accept Only Scalar Values. The Scopes of break and continue Are Local to That of an Included File, or an eval'd String. A return Statement from a required File Does Not Work. Unset Is Now a Statement, Not a Function. "{$" Is Not Supported in Strings.



Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership