PHP userland backwards compatibility layer that emulates PHP 5.5+ core functions.

⌈⌋ ⎇ branch:  upgrade.php


Update of "upgrade.php"

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview

Artifact ID: 4702432d3a71666bfc2d7d241f7a0885bd851ea0
Page Name:upgrade.php
Date: 2010-07-03 11:03:28
Original User: mario
Parent: 4907ab3324506dbee45a3602c18ad4a710788974 (diff)
Next 47da6f557fc890356ba3d32a60d48d8973d376e8
Content

'upgrade.php' is a PHP script. It defines missing PHP functions, which makes it an easy solution for using newer features on older PHP installations. Most functions are combined into an all-in-one library. Emulations for some PHP extensions come as separate scripts, to keep the main file below 30K in real code (it's 2/3 comments).

== Usage ==

<?php

if (PHP_VERSION < 5.1) { include_once("upgrade.php"); }
json_encode("this will always work now");

?>

This is the bugtracker / version control site for upgradephp.

The current project homepage is located at BerliOS devloper under http://upgradephp.berlios.de/.

== Main ==

upgrade.php emulates following functions: · json_encode · json_decode · preg_filter · lcfirst · array_replace · strptime · error_get_last · preg_last_error · lchown · lchgrp · gzdecode · ob_get_headers · xmlentities · stripos · strripos · str_ireplace · get_headers · headers_list · fprintf · vfprintf · str_split · http_build_query · convert_uuencode · convert_uudecode · scandir · idate · time_nanosleep · strpbrk · php_real_logo_guid · php_egg_logo_guid · php_strip_whitespace · php_check_syntax · get_declared_interfaces · array_combine · array_walk_recursive · substr_compare · spl_classes · class_parents · session_commit · dns_check_record · dns_get_mx · setrawcookie · file_put_contents · file_get_contents · fnmatch · glob · array_key_exists · array_intersect_assoc · array_diff_assoc · html_entity_decode · str_word_count · str_shuffle · get_include_path · set_include_path · restore_include_path · str_rot13 · array_change_key_case · array_fill · array_chunk · md5_file · is_a · fmod · floatval · is_infinite · is_nan · is_finite · var_export · strcoll · diskfreespace · disktotalspace · vprintf · vsprintf · import_request_variables · hypot · log1p · expm1 · sinh · cosh · tanh · asinh · acosh · atanh · array_udiff_uassoc · array_udiff_assoc · array_diff_uassoc · array_udiff · array_uintersect_uassoc · array_uintersect_assoc · array_uintersect · array_intersect_uassoc · mime_content_type · image_type_to_mime_type · image_type_to_extension · exif_imagetype · array_filter · array_map · is_callable · array_search · array_reduce · is_scalar · localeconv · call_user_func_array · call_user_method_array · array_sum · constant · is_null · pathinfo · escapeshellarg · is_uploaded_file · move_uploaded_file · strncasecmp · wordwrap · php_uname · php_sapi_name

== Modules ==

gettext.php adds _() and various gettext() features. This extension is commonly used for localizing applications. Unlike other methods this is extremely easy to apply in source code.

ftp.php reimplements FTP access using plain PHP socket functions.

ctype.php provides a set of character classification functions.

mime.php has MIME magic filetype detection functions.

pdo.php is an emulatoion of the PDO database abstraction layer for PHP 4.x and PHP 5.0.

pspell.php uses the commandline aspell utility to emulate the pspell_*() type of functions for checking for natural language spelling errors.

bcmath.php for arbitrary precision math functions.

php40array.php archives the more seldomly used array functions. This has been extracted from the main script, to keep it lean.

The historic php40.php provides some functions for PHP 4.0 compatibility. Alltough nobody probably still has such old PHP versions running.

== Nonstandard ==

Distributed alongside upgrade.php are a few function collections, which aren't really standard PHP. The author just has been too lazy to instantiat individual project hosting sites.

http_query.class.php provides HttpRequest funtionality. It is partly compatible to PEAR::HTTPRequest, but mainly in place to later have an emulation for the PHP/PECL http extension and http_* functions.

input.php is a highly recommended security feature. It wraps the input arrays $_GET, $_POST, $_REQUEST, $_COOKIE, $_SERVER into an object-oriented access layer. This OO access wrapper only allows access to submitted form data and HTTP variables through filter features. In essence this enforces input validation, because raw access is prevented (or at least can be logged).

== License ==

Unless noted otherwise, all scripts are Public domain.

The PDO extension for example, is not.