PHP cookbook /
Saved in:
Author / Creator: | Sklar, David. |
---|---|
Imprint: | Beijing ; Sebastopol, CA : O'Reilly, c2003. |
Description: | xxi, 608 p. : ill. ; 24 cm. |
Language: | English |
Subject: | |
Format: | Print Book |
URL for this record: | http://pi.lib.uchicago.edu/1001/cat/bib/6661617 |
Table of Contents:
- Preface
- 1.. Strings
- 1.1. Accessing Substrings
- 1.2. Replacing Substrings
- 1.3. Processing a String One Character at a Time
- 1.4. Reversing a String by Word or Character
- 1.5. Expanding and Compressing Tabs
- 1.6. Controlling Case
- 1.7. Interpolating Functions and Expressions Within Strings
- 1.8. Trimming Blanks from a String
- 1.9. Parsing Comma-Separated Data
- 1.10. Parsing Fixed-Width Delimited Data
- 1.11. Taking Strings Apart
- 1.12. Wrapping Text at a Certain Line Length
- 1.13. Storing Binary Data in Strings
- 2.. Numbers
- 2.1. Checking Whether a String Contains a Valid Number
- 2.2. Comparing Floating-Point Numbers
- 2.3. Rounding Floating-Point Numbers
- 2.4. Operating on a Series of Integers
- 2.5. Generating Random Numbers Within a Range
- 2.6. Generating Biased Random Numbers
- 2.7. Taking Logarithms
- 2.8. Calculating Exponents
- 2.9. Formatting Numbers
- 2.10. Printing Correct Plurals
- 2.11. Calculating Trigonometric Functions
- 2.12. Doing Trigonometry in Degrees, not Radians
- 2.13. Handling Very Large or Very Small Numbers
- 2.14. Converting Between Bases
- 2.15. Calculating Using Numbers in Bases Other Than Decimal
- 3.. Dates and Times
- 3.1. Finding the Current Date and Time
- 3.2. Converting Time and Date Parts to an Epoch Timestamp
- 3.3. Converting an Epoch Timestamp to Time and Date Parts
- 3.4. Printing a Date or Time in a Specified Format
- 3.5. Finding the Difference of Two Dates
- 3.6. Finding the Difference of Two Dates with Julian Days
- 3.7. Finding the Day in a Week, Month, Year, or the Week Number in a Year
- 3.8. Validating a Date
- 3.9. Parsing Dates and Times from Strings
- 3.10. Adding to or Subtracting from a Date
- 3.11. Calculating Time with Time Zones
- 3.12. Accounting for Daylight Saving Time
- 3.13. Generating a High-Precision Time
- 3.14. Generating Time Ranges
- 3.15. Using Non-Gregorian Calendars
- 3.16. Program: Calendar
- 4.. Arrays
- 4.1. Specifying an Array Not Beginning at Element 0
- 4.2. Storing Multiple Elements per Key in an Array
- 4.3. Initializing an Array to a Range of Integers
- 4.4. Iterating Through an Array
- 4.5. Deleting Elements from an Array
- 4.6. Changing Array Size
- 4.7. Appending One Array to Another
- 4.8. Turning an Array into a String
- 4.9. Printing an Array with Commas
- 4.10. Checking if a Key Is in an Array
- 4.11. Checking if an Element Is in an Array
- 4.12. Finding the Position of an Element in an Array
- 4.13. Finding Elements That Pass a Certain Test
- 4.14. Finding the Largest or Smallest Valued Element in an Array
- 4.15. Reversing an Array
- 4.16. Sorting an Array
- 4.17. Sorting an Array by a Computable Field
- 4.18. Sorting Multiple Arrays
- 4.19. Sorting an Array Using a Method Instead of a Function
- 4.20. Randomizing an Array
- 4.21. Shuffling a Deck of Cards
- 4.22. Removing Duplicate Elements from an Array
- 4.23. Finding the Union, Intersection, or Difference of Two Arrays
- 4.24. Finding All Element Combinations of an Array
- 4.25. Finding All Permutations of an Array
- 4.26. Program: Printing an Array in a Horizontally Columned HTML Table
- 5.. Variables
- 5.1. Avoiding == Versus = Confusion
- 5.2. Establishing a Default Value
- 5.3. Exchanging Values Without Using Temporary Variables
- 5.4. Creating a Dynamic Variable Name
- 5.5. Using Static Variables
- 5.6. Sharing Variables Between Processes
- 5.7. Encapsulating Complex Data Types as a String
- 5.8. Dumping Variable Contents as Strings
- 6.. Functions
- 6.1. Accessing Function Parameters
- 6.2. Setting Default Values for Function Parameters
- 6.3. Passing Values by Reference
- 6.4. Using Named Parameters
- 6.5. Creating Functions That Take a Variable Number of Arguments
- 6.6. Returning Values by Reference
- 6.7. Returning More Than One Value
- 6.8. Skipping Selected Return Values
- 6.9. Returning Failure
- 6.10. Calling Variable Functions
- 6.11. Accessing a Global Variable Inside a Function
- 6.12. Creating Dynamic Functions
- 7.. Classes and Objects
- 7.1. Instantiating Objects
- 7.2. Defining Object Constructors
- 7.3. Destroying an Object
- 7.4. Cloning Objects
- 7.5. Assigning Object References
- 7.6. Calling Methods on an Object Returned by Another Method
- 7.7. Accessing Overridden Methods
- 7.8. Using Property Overloading
- 7.9. Using Method Polymorphism
- 7.10. Finding the Methods and Properties of an Object
- 7.11. Adding Properties to a Base Object
- 7.12. Creating a Class Dynamically
- 7.13. Instantiating an Object Dynamically
- 8.. Web Basics
- 8.1. Setting Cookies
- 8.2. Reading Cookie Values
- 8.3. Deleting Cookies
- 8.4. Redirecting to a Different Location
- 8.5. Using Session Tracking
- 8.6. Storing Sessions in a Database
- 8.7. Detecting Different Browsers
- 8.8. Building a GET Query String
- 8.9. Using HTTP Basic Authentication
- 8.10. Using Cookie Authentication
- 8.11. Flushing Output to the Browser
- 8.12. Buffering Output to the Browser
- 8.13. Compressing Web Output with gzip
- 8.14. Hiding Error Messages from Users
- 8.15. Tuning Error Handling
- 8.16. Using a Custom Error Handler
- 8.17. Logging Errors
- 8.18. Eliminating "headers already sent" Errors
- 8.19. Logging Debugging Information
- 8.20. Reading Environment Variables
- 8.21. Setting Environment Variables
- 8.22. Reading Configuration Variables
- 8.23. Setting Configuration Variables
- 8.24. Communicating Within Apache
- 8.25. Profiling Code
- 8.26. Program: Website Account (De)activator
- 8.27. Program: Abusive User Checker
- 9.. Forms
- 9.1. Processing Form Input
- 9.2. Validating Form Input
- 9.3. Working with Multipage Forms
- 9.4. Redisplaying Forms with Preserved Information and Error Messages
- 9.5. Guarding Against Multiple Submission of the Same Form
- 9.6. Processing Uploaded Files
- 9.7. Securing PHP's Form Processing
- 9.8. Escaping Control Characters from User Data
- 9.9. Handling Remote Variables with Periods in Their Names
- 9.10. Using Form Elements with Multiple Options
- 9.11. Creating Dropdown Menus Based on the Current Date
- 10.. Database Access
- 10.1. Using Text-File Databases
- 10.2. Using DBM Databases
- 10.3. Connecting to a SQL Database
- 10.4. Querying a SQL Database
- 10.5. Retrieving Rows Without a Loop
- 10.6. Modifying Data in a SQL Database
- 10.7. Repeating Queries Efficiently
- 10.8. Finding the Number of Rows Returned by a Query
- 10.9. Escaping Quotes
- 10.10. Logging Debugging Information and Errors
- 10.11. Assigning Unique ID Values Automatically
- 10.12. Building Queries Programmatically
- 10.13. Making Paginated Links for a Series of Records
- 10.14. Caching Queries and Results
- 10.15. Program: Storing a Threaded Message Board
- 11.. Web Automation
- 11.1. Fetching a URL with the GET Method
- 11.2. Fetching a URL with the POST Method
- 11.3. Fetching a URL with Cookies
- 11.4. Fetching a URL with Headers
- 11.5. Fetching an HTTPS URL
- 11.6. Debugging the Raw HTTP Exchange
- 11.7. Marking Up a Web Page
- 11.8. Extracting Links from an HTML File
- 11.9. Converting ASCII to HTML
- 11.10. Converting HTML to ASCII
- 11.11. Removing HTML and PHP Tags
- 11.12. Using Smarty Templates
- 11.13. Parsing a Web Server Log File
- 11.14. Program: Finding Stale Links
- 11.15. Program: Finding Fresh Links
- 12.. XML
- 12.1. Generating XML Manually
- 12.2. Generating XML with the DOM
- 12.3. Parsing XML with the DOM
- 12.4. Parsing XML with SAX
- 12.5. Transforming XML with XSLT
- 12.6. Sending XML-RPC Requests
- 12.7. Receiving XML-RPC Requests
- 12.8. Sending SOAP Requests
- 12.9. Receiving SOAP Requests
- 12.10. Exchanging Data with WDDX
- 12.11. Reading RSS Feeds
- 13.. Regular Expressions
- 13.1. Switching From ereg to preg
- 13.2. Matching Words
- 13.3. Finding the nth Occurrence of a Match
- 13.4. Choosing Greedy or Nongreedy Matches
- 13.5. Matching a Valid Email Address
- 13.6. Finding All Lines in a File That Match a Pattern
- 13.7. Capturing Text Inside HTML Tags
- 13.8. Escaping Special Characters in a Regular Expression
- 13.9. Reading Records with a Pattern Separator
- 14.. Encryption and Security
- 14.1. Keeping Passwords Out of Your Site Files
- 14.2. Obscuring Data with Encoding
- 14.3. Verifying Data with Hashes
- 14.4. Storing Passwords
- 14.5. Checking Password Strength
- 14.6. Dealing with Lost Passwords
- 14.7. Encrypting and Decrypting Data
- 14.8. Storing Encrypted Data in a File or Database
- 14.9. Sharing Encrypted Data with Another Web Site
- 14.10. Detecting SSL
- 14.11. Encrypting Email with GPG
- 15.. Graphics
- 15.1. Drawing Lines, Rectangles, and Polygons
- 15.2. Drawing Arcs, Ellipses, and Circles
- 15.3. Drawing with Patterned Lines
- 15.4. Drawing Text
- 15.5. Drawing Centered Text
- 15.6. Building Dynamic Images
- 15.7. Getting and Setting a Transparent Color
- 15.8. Serving Images Securely
- 15.9. Program: Generating Bar Charts from Poll Results
- 16.. Internationalization and Localization
- 16.1. Listing Available Locales
- 16.2. Using a Particular Locale
- 16.3. Setting the Default Locale
- 16.4. Localizing Text Messages
- 16.5. Localizing Dates and Times
- 16.6. Localizing Currency Values
- 16.7. Localizing Images
- 16.8. Localizing Included Files
- 16.9. Managing Localization Resources
- 16.10. Using gettext
- 16.11. Reading or Writing Unicode Characters
- 17.. Internet Services
- 17.1. Sending Mail
- 17.2. Sending MIME Mail
- 17.3. Reading Mail with IMAP or POP3
- 17.4. Posting Messages to Usenet Newsgroups
- 17.5. Reading Usenet News Messages
- 17.6. Getting and Putting Files with FTP
- 17.7. Looking Up Addresses with LDAP
- 17.8. Using LDAP for User Authentication
- 17.9. Performing DNS Lookups
- 17.10. Checking if a Host Is Alive
- 17.11. Getting Information About a Domain Name
- 18.. Files
- 18.1. Creating or Opening a Local File
- 18.2. Creating a Temporary File
- 18.3. Opening a Remote File
- 18.4. Reading from Standard Input
- 18.5. Reading a File into a String
- 18.6. Counting Lines, Paragraphs, or Records in a File
- 18.7. Processing Every Word in a File
- 18.8. Reading a Particular Line in a File
- 18.9. Processing a File Backward by Line or Paragraph
- 18.10. Picking a Random Line from a File
- 18.11. Randomizing All Lines in a File
- 18.12. Processing Variable Length Text Fields
- 18.13. Reading Configuration Files
- 18.14. Reading from or Writing to a Specific Location in a File
- 18.15. Removing the Last Line of a File
- 18.16. Modifying a File in Place Without a Temporary File
- 18.17. Flushing Output to a File
- 18.18. Writing to Standard Output
- 18.19. Writing to Many Filehandles Simultaneously
- 18.20. Escaping Shell Metacharacters
- 18.21. Passing Input to a Program
- 18.22. Reading Standard Output from a Program
- 18.23. Reading Standard Error from a Program
- 18.24. Locking a File
- 18.25. Reading and Writing Compressed Files
- 18.26. Program: Unzip
- 19.. Directories
- 19.1. Getting and Setting File Timestamps
- 19.2. Getting File Information
- 19.3. Changing File Permissions or Ownership
- 19.4. Splitting a Filename into Its Component Parts
- 19.5. Deleting a File
- 19.6. Copying or Moving a File
- 19.7. Processing All Files in a Directory
- 19.8. Getting a List of Filenames Matching a Pattern
- 19.9. Processing All Files in a Directory
- 19.10. Making New Directories
- 19.11. Removing a Directory and Its Contents
- 19.12. Program: Web Server Directory Listing
- 19.13. Program: Site Search
- 20.. Client-Side PHP
- 20.1. Parsing Program Arguments
- 20.2. Parsing Program Arguments with getopt
- 20.3. Reading from the Keyboard
- 20.4. Reading Passwords
- 20.5. Displaying a GUI Widget in a Window
- 20.6. Displaying Multiple GUI Widgets in a Window
- 20.7. Responding to User Actions
- 20.8. Displaying Menus
- 20.9. Program: Command Shell
- 20.10. Program: Displaying Weather Conditions
- 21.. PEAR
- 21.1. Using the PEAR Package Manager
- 21.2. Finding PEAR Packages
- 21.3. Finding Information About a Package
- 21.4. Installing PEAR Packages
- 21.5. Installing PECL Packages
- 21.6. Upgrading PEAR Packages
- 21.7. Uninstalling PEAR Packages
- 21.8. Documenting Classes with PHPDoc
- Index