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.
Contents
I. LANGUAGE CONSTRUCTS AND
TECHNIQUES.
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 anArray. 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.
II. DATABASES.
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.
III. GOING OUTSIDE PHP.
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.
IV. GENERATING OTHER
LANGUAGES.
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 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.
V. THE ZEND API.
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 Cuot 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.
Index.