CINXE.COM

PHP Class Scripts, Tutorials, Remote PHP Jobs December 2024 Openings, PHP Shop, PHP Awards, Professionals, Book reviews, User groups, Forums - PHP Classes

<!DOCTYPE HTML> <html lang="en"> <head> <meta http-equiv="X-UA-Compatible" content="IE=Edge"> <meta name="google-site-verification" content="koB0IMWgAHKwEXWyOGt9RPqYrJU-fKzpoOTwRnprhKo" /> <title>PHP Class Scripts, Tutorials, Remote PHP Jobs December 2024 Openings, PHP Shop, PHP Awards, Professionals, Book reviews, User groups, Forums - PHP Classes</title> <!-- https://files.phpclasses.org/styles.css --> <style type="text/css"> *, .normal-size { font-size: 14px; } html, body, input[type=submit] { color: black; font-family: "helvetica" , sans-serif , arial , helvetica; overflow-x: hidden !important; } html, body { background-color: #ffffff; height: 100%; margin: 0px; } a:link, a:active { color: #090F15; text-decoration: none; border-bottom-style: dotted; border-bottom-width: 1px; } a:visited { color: #26394d; } a:hover, #logoPHP > a, #logoCompany > a, #topLogoPHP > a { border-bottom-style: none; } .left { float: left; } .right { float: right; } .clear { clear: both; } input[type=text] { border: none; outline: none; color: #333; background: #ffe; z-index: 90; font-size: 1em; font-weight: normal; font-variant: normal; text-transform: none; font-family: monospace; } img { } h1, h1 * { font-size: 28px; width: auto !important; } h2 { color: #19597c; padding-bottom: 0px; padding-top: 0px; } h2, h2 * { font-size: 22px; } h3, h3 * { color: #19597c; font-size: 20px; margin: 10px 0px; padding: 10px 0px; } h4 * { color: #19597c; font-size: 16px; } h5 * { color: #19597c; font-size: 16px; } h6 * { color: #666666; font-size: 14px; } big big a { display: block; font-size: inherit; padding: 0px 0px 10px; } big a { font-size: inherit; } td > a > span, #reputation-button { font-size: 1em; } #reputation-menu { border-radius: 6px !important; } .nbpb, .nbtb { background-color: inherit; border-width: 0px; } .backgroundDecoration { position: absolute; right: 1025px; top: 0px; } #rightDecorationBg { left: 1025px; } #MainContainer { background-color: #19597c; min-height: 100%; margin: 0 auto; } #Container { background: none repeat scroll 0% 0% #fff; height: auto !important; margin: 0px auto; position: relative; z-index: 10; width: 98% !important; } #PageContent { margin: auto; width: 100% !important; position: relative; text-align: left; } #PageInfo, #PageInfoLogged { background: inherit; width: inherit; position: relative; } .pageDecoration { bottom: 0px; position: absolute; right: -9px; } #leftDecoration { left: -9px; } #user-bar:empty { min-height: 56px; } #user { padding-bottom: 4px; } #user, #TopLine, #UserContent, #order-menu { background-color: #19597c; width: 100%; } .shop-step { color: #ffffff; font-size: 18px; line-height: 36px; font-weight: bold; } .responsive-menu { padding-top: 0px; padding-bottom: 0px; } #TopLine, #UserContent { z-index: 1; position: relative; } #TopLine { position: absolute; } #user table { white-space: nowrap; width: auto; margin: 0px auto; padding: 5px 0px 0px 140px; } #user table td { line-height: 30px; padding: 0px; white-space: nowrap; width: auto; } #user .tabcontent, #endnavigation .tabcontent { color: #C3F0FF; font-weight: bold; text-transform: capitalize; } #user .tabcontent span { float: left; padding: 8px 5px 0px 2px; white-space: nowrap; } #user a { color: #FFFFFF; font-size: 14px; font-weight: bold; padding: 0px 5px 0px 2px; text-align: left; text-decoration: none; border-bottom-style: dotted; border-bottom-width: 1px; white-space: nowrap; } #user a:hover { color: #C3F0FF; } #user img { padding-top: 3px; vertical-align: top; } #user .nbgu { float: left; padding: 0px; white-space: nowrap; } #logoPHP { background-size: cover; text-align: center; height: 136px; background: rgb(63,132,41); background: linear-gradient(90deg, rgba(63,132,41,1) 0%, rgba(255,255,255,1) 50%, rgba(25,89,124,1) 100%); } #logoContainer { padding-top: 38px; display: inline-block; } #Top #logoCompany { position: absolute; right: 145px; top: -60px; } #invertedCompanyLogo { text-align: center; } #elephpant { margin-right: 15px; position: absolute; right: 5px; top: -97px; } #recommendpage { margin: auto; width: 40em; } #recommendpage table { min-width: 40em; text-align: center; white-space: normal; border: 2px solid #ccc; border-style: solid; border-radius: 0 0 5px 5px; border-top: 0; margin-bottom: 10px; } #recommendpage table td { background: none repeat scroll 0% 0% transparent; border: medium none; padding: 10px 0px 5px 10px; vertical-align: top; } #recommendpage table td img { padding: 0px 3px 0px 5px; } #navigation { background-color: #4b9759; clear: both; color: #000 !important; font-size: 1.2em; font-weight: bold; height: 44px; line-height: 24px; padding: 0px; position: relative; text-align: center; width: 100%; } #navigation form { border: 0px none; } #navigation table { height: 44px; width: 974px; } #navigation td { font-size: 14px; padding-top: 9px; } #navigation img { border: 0px none; margin: 0px 0px 0px 5px; vertical-align: middle; } #navigation a { color: #ffffff; text-decoration: none; border-bottom-width: 1px; } #navigation a:hover { text-decoration: underline; border-bottom-style: none; } #navigation td.nbgu { display: none; } #navigation td.nbtu, #MenuContent td.nblu { height: 24px; line-height: 24px; padding: 10px 4px 0px; text-decoration: none; border-bottom-width: 1px; } #navigation td.nbtu input[type=text] { height: 20px; margin: 0px 5px; width: 100px; } #navigation td.nbtu * { float: left; } #ads { clear: both; margin: 0px auto; padding: 0px; width: 1010px; } #topAds { display: inline-block; margin-left: 10px; } #inputText { color: #666666; float: left; height: 20px; width: 150px; } .BodyContent { text-align: center; } .BodyColumn { display: inline-block; vertical-align: top; text-align: left; } #BodyContent { display: inline-block; vertical-align: top; text-align: left; } .InfoContent { clear: both; margin: 10px auto 0px auto; max-width: 1025px; position: relative; padding: 0 10px; } .InfoContent .nblu, .InfoContent .nbtu { background-color: #dfdfdf; border-top-left-radius: 2px; border-top-right-radius: 2px; border-width: 1px; color: #19597c; font-size: 12px; padding: 7px; text-align: center; white-space: nowrap; width: auto; } .InfoContent .ct { background-color: #FCFCFC; border-width: 1px 1px 0 1px; border-style: solid; border-color: #E1E1E1; color: #000000; font-size: 12px; padding: 3px; text-align: center; white-space: nowrap; width: auto; } .InfoContent .cd { background-color: #FCFCFC; border-width: 0 1px 1px 1px; border-style: solid; border-color: #E1E1E1; color: #000000; font-size: 12px; padding: 3px; } .InfoContent .cg { margin: 1px; padding: 0px; white-space: nowrap; width: 4px; } .InfoContent .nbtd :hover, .InfoContent .nbtu :hover { background-color: #c9c9c9; text-decoration: underline; border-bottom-style: none; color: #2989C7; } .InfoContent .nbtd :hover .tab, .InfoContent .nbtu :hover .tab { color: #2989C7; } .InfoContent .nbld, .InfoContent .nbtd { background-color: #bfbfbf; border-color: #92DBEC; color: #05497B; font-size: 12px; padding: 7px; text-align: center; white-space: nowrap; width: auto; } .InfoContent .nblu, .InfoContent .nbld { background-color: #557799; color: #FFFFFF; } .InfoContent .nblu .tab { } .InfoContent .nbgu { color: #05497B; margin: 1px; padding: 0px; white-space: nowrap; } .InfoContent .nbgd { color: #05497B; margin: 1px; padding: 0px; white-space: nowrap; } .InfoContent .nbtu a, .InfoContent .nbld a, .InfoContent .nbtd a { color: #05497B; font-size: 12px; } .InfoContent .nbtu span.tab { color: #000000; } .InfoContent .nbtu a.tab { } .InfoContent .nblu a:hover, .InfoContent .nbtu a:hover, .InfoContent .nbld a:hover, .InfoContent .nbtd a:hover { color: #2989C7; } .InfoContent .nblu a, .InfoContent .nbld a { color: #FFFFFF; font-size: 12px; } .InfoContent .nblu a:hover, .InfoContent .nbld a:hover { color: #C3F0FF; } .InfoContent .nbtu, .InfoContent .nbtd { vertical-align: middle; } .InfoContent .nbpu, .InfoContent .nbpd { padding: 6px 0 0 0; } .InfoContent td { padding-left: 5px; } .photo { border-radius: 50%; } .userInfoTable { border: 1px solid #f6f6f6; margin-left: 10px; padding: 20px; } td > b > h2 { margin-bottom: -1px; } .even td, .odd td, .even th, .odd th { color: #444444; } .menutext { border-bottom: 1px dotted #CCCCCC; color: #444444; } .menuicon > a { border-bottom-style: none !important; } .menuicon > a > img { } .menulink a { color: #595959; } .menulink a:hover { text-decoration: underline; border-bottom-style: none; } .back { background-color: #FFFFFF; } .even { background-color: #F9F9F9; } .light { background: none repeat scroll 0% 0% #f2f2f2; } .dark { background: none repeat scroll 0% 0% #d9d9d9; } .c799 > tbody > tr { padding: 10px !important; } .odd { } .even td, .odd td, .highlight td, .highlight th, .highlightContent td, .highlightContent th, .featuredeven td, .featuredodd td { padding: 5px; } .highlight, .highlightContent { background: none repeat scroll 0% 0% #F5F5F5; padding: 5px; } .highlightContent { animation-name: highlightContent; animation-duration: 0.5s; animation-iteration-count: infinite; animation-direction: alternate; } @keyframes highlightContent { 0% { background: #e6d346; } 100% { background: #ffffff; } } .highlightLink { background: none repeat scroll 0% 0% #FDFDFD; padding: 5px; line-height: 30px; animation-name: highlightLink; animation-duration: 0.5s; animation-iteration-count: infinite; animation-direction: alternate; border-radius: 8px; opacity: 90%; color: #000000; } *, .normal-size { } @keyframes highlightLink { 0% { background: #e6d346; } 100% { background: #ffffff; } } .tabcontent { } .nblu .tabcontent { color: #ffffff; } .featuredodd { background-color: #C5D4DB; padding: 5px; } .featuredeven { background-color: #C5D4DB; padding: 5px; } .removed { background-color: #AAAAAA; text-decoration: line-through; } .invalid { background-color: #FFCCCC; } .warning, .shopping-message-warning { background-color: #FFB366; } .alright { background-color: #70F0A0; } .monospace, code { font-family: monospace , Courier , "Courier New"; } .code { white-space: pre; white-space: pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: -moz-pre-wrap; white-space: -hp-pre-wrap; word-wrap: break-word; background: none repeat scroll 0% 0% #FCFCFC; padding: 4px; } .button, .shop-button, .remove-button, .shopping-message, .shopping-message-warning, input[class=shop-input] { border-radius: 6px; padding: 4px; border-width: 1px; border-style: solid; } .shop-button { border-color: #000000; background-color: #ccae66; background-image: linear-gradient(#ffdf92, #ccae66); color: #000000; font-weight: bold; font-size: 14px; padding: 7px; text-align: center; white-space: nowrap; width: auto; } .shop-button:hover, .shop-button:link, .shop-button:active { color: #000000; border-bottom-style: solid; border-bottom-width: 1px; } .shop-button:active { background-image: linear-gradient(#f8d37c, #ffdf92); } .remove-button { border-color: #000000; background-color: #1b95e0; background-image: linear-gradient(#1b95e0, #1470a8); color: #ffffff; font-weight: bold; font-size: 14px; padding: 7px; text-align: center; white-space: nowrap; width: auto; } .remove-button:hover, .remove-button:link, .remove-button:active, input[class=remove-button] { color: #ffffff; border-bottom-style: solid; border-bottom-width: 1px; } .remove-button:active { background-image: linear-gradient(#1470a8, #1b95e0); } .shopping-message-container { text-align: center; } .shopping-message, .shopping-message-warning { display: inline-block; line-height: 28px; border-color: #000000; font-weight: bold; font-size: 14px; padding: 7px; text-align: center; width: auto; } .shopping-message { color: #ffffff; background-color: #666666; background-image: linear-gradient(#666666, #333333); } .shopping-message-warning { color: #000000; background-color: #000000; background-image: linear-gradient(#FFB366, #cc8f52); } .shopping-price { font-size: 16px; text-align: center; font-weight: bold; width: auto; margin-left: 8px; margin-right: 8px; } input[class=shop-input] { margin: 4px; } .new { background-color: #ffea80; background-image: linear-gradient(#fffa80 , #ffea80); text-transform: uppercase; font-size: smaller; border-color: #ffe280; } .edit, .edit :link, .edit :visited, .InfoContent .nbtu a.edit { background-color: #60b040; background-image: linear-gradient(#90c070 , #60b040); color: #ffffff; border-color: #60a840; } .edit :hover, .InfoContent .nbtu a.edit :hover { background-color: #50a030; background-image: linear-gradient(#60b040 , #50a030); color: #C3F0FF; border-color: #60a840; } .edit :active, .InfoContent .nbtu a.edit :active { background-color: #60b040; background-image: linear-gradient(#50a030 , #60b040); color: #ffffff; border-color: #409020; box-shadow: inset 0 2px 4px rgba(0 , 0 , 0 , 0.15); } .tag, .tag :link, .tag :visited { background-color: #dea7a7; background-image: linear-gradient(#eeb3b3 , #dea7a7); color: #994d4d; border-color: #dea7a7; } .tag :hover { background-color: #ce9b9b; background-image: linear-gradient(#dea7a7 , #ce9b9b); color: #793d3d; border-color: #dea7a7; } .tag :active { background-color: #dea7a7; background-image: linear-gradient(#ce9b9b , #dea7a7); color: #994d4d; border-color: #be8f8f; box-shadow: inset 0 2px 4px rgba(0 , 0 , 0 , 0.15); } .ranking, .votes { display: inline; padding: 4px 8px; font-size: large; border-radius: 6px; background-color: #E8E8E8; color: #000000; } .votes { } .progressbar { background-color: #0000FF; background-image: url(https://files.phpclasses.org/graphics/phpclasses//progress.png); background-size: auto 100%; border-style: none; padding: 4px; text-align: center; border-radius: 6px; box-shadow: 4px 4px 4px #888; text-shadow: 2px 2px 2px #55C; } .box { border-color: #E1E1E1; border-style: solid; border-width: 1px; padding: 10px; margin-top: 10px; margin-bottom: 10px; border-radius: 10px; } .framed { margin: 5px 0px; padding: 10px 15px; border-radius: 10px; } .c360 > a { font-size: 13px; display: block; color: #729fcc; } .notifications { background: #e20000; background: radial-gradient(ellipse at center , #e20000 0% , #fb7b67 100%); border-radius: 6px; color: #ffffff; margin: 5px 0px; padding: 4px; text-shadow: 1px 1px 2px rgba(128 , 128 , 128 , 1); } .no-notifications { background: #888888; border-radius: 6px; color: #ffffff; margin: 5px 0px; padding: 4px; text-shadow: 1px 1px 2px rgba(128 , 128 , 128 , 1); } a:hover .no-notifications, a:hover .notifications { text-decoration: underline; border-bottom-style: none; } .score, .highlightScore { background: rgb(243,237,187); background: radial-gradient(circle, rgba(243,237,187,1) 0%, rgba(255,241,133,1) 100%); border-radius: 6px; margin: 5px 0px; padding: 4px; } .scoreText, .score, .highlightScore { color: #404040; text-shadow: 1px 1px 2px rgba(128 , 128 , 128 , 1); } a:hover .score, a:hover .scoreText { text-decoration: underline; border-bottom-style: none; } .highlightScore { animation-name: highlightScore; animation-duration: 0.5s; animation-iteration-count: infinite; animation-direction: alternate; } @keyframes highlightScore { 0% { background: #e6d346; } 100% { background: #ffffff; } } a:hover .highlightScore { text-decoration: underline; border-bottom-style: none; } .menu { border-color: #FCFCFF #707078 #707078 #FCFCFF; border-style: solid; border-width: 1px; cursor: default; opacity: 0.95; padding: 2px; background-color: #c9c9c9; } #Footer { height: 0px; width: 100%; z-index: 1; } #FooterInfo, #FooterInfoLogged { background: #19597c; min-height: 80px; position: relative; width: 100%; padding: 10px; margin-top: 10px; top: 10px; } #endnavigation { height: 35px; padding: 0px; width: 100%; } #endnavigation * { margin: 0px; padding: 0px; } #endnavigation table { height: 35px; padding: 0px; } #endnavigation table tbody { vertical-align: top; } #endnavigation a { color: #FFFFFF; font-weight: bold; padding: 0px 0px 0px 0px; text-decoration: none; border-bottom-style: dotted; border-bottom-width: 1px; text-transform: capitalize; } #endnavigation a:hover { text-decoration: underline; border-bottom-style: none; } #endnavigation img { padding-left: 13px; } #Copyright { width: 95% !important; color: #FFFFFF; height: 20px; margin: 0px auto; padding: 10px 0px; text-align: left; overflow: hidden !important; text-align: center; font-weight: bold; } #Copyright a { color: #86d5f2; text-decoration: none; border-bottom-style: dotted; border-bottom-width: 1px; } #Copyright a:hover { text-decoration: underline; border-bottom-style: none; } #Copyright table td { color: #FFFFFF; padding: 0px; } #Top, #TopLogged { background: none repeat scroll 0% 0% #FFFFFF; margin: 0px auto; padding: 0px; width: 100%; position: relative; bottom: 0px; top: 0px; } #Top h1, #TopLogged h1 { max-width: 1025px; margin: 15px auto 15px auto; overflow: hidden; color: #7F8C8D; } #Top h1 { position: relative; } #Top #topLogoPHP, #TopLogged #topLogoPHP, #TopLogo #topLogoPHP { max-width: 1025px; margin-left: auto; margin-right: auto; overflow: hidden; padding: 0 0 0 10px; color: #7F8C8D; position: relative; height: 60px; top: -60px; bottom: -60px; } #Top #topLogoPHP #topLogoPHPContainer, #TopLogged #topLogoPHP #topLogoPHPContainer, #TopLogo #topLogoPHP #topLogoPHPContainer { background-color: #ffffff; width: 200px; text-align: center; padding: 10px; position: relative; z-index: 2; } #TopLogo { margin-bottom: -60px; } #Top #subtitle, #TopLogged #subtitle { max-width: 1025px; margin: auto; overflow: hidden; } #Top #subtitle { position: relative; } .search-input { vertical-align: top; margin: 1px 0 0 0; display: inline-block; } #Contact, #Contact a { color: #ffffff; font-weight: bold; } .window-active-bar { border-style: none; background-color: #4b9759; height: 1%; white-space: nowrap; color: #ffffff; font-weight: bold; } .window-inactive-bar { border-style: none; background-color: #808080; height: 1%; white-space: nowrap; color: #c0c0c0; font-weight: bold; } .window { background-color: #f9f9f9; border-width: 1px; border-style: solid; border-top-color: #ffffff; border-left-color: #ffffff; border-bottom-color: #808080; border-right-color: #808080; } .nblu input { font-weight: bold; } .contactBar { position: fixed; bottom: 0px; right: 32px; z-index: 16777271; } </style> <!-- https://files.phpclasses.org/responsive.css --> <style type="text/css"> .safe-padding { padding: 14px; line-height: 200%; } .safe-size { font-size: 110%; } .call { display: none; } @media (max-width: 1024px) { .c1025 { display: none; } h1, h1 * { font-size: 20px; } h2, h2 * { font-size: 18px; } h3, h3 * { font-size: 16px; } h4 * { font-size: 14px; } h5 * { font-size: 12px; } h6 * { font-size: 10px; } #Top h1, #Top subtitle { padding: 10px 0 0 10px; margin: 0 0 0 0; } .InfoContent { margin: 0 auto 0 auto; padding: 0; } .responsive-menu { padding-top: 14px; padding-bottom: 12px; } .responsive-order-menu { padding-top: 0px; padding-bottom: 0x; } #BodyContent { display: block; } #PageContent { margin: 0; padding: 0; } } @media (min-width: 1025px) { .u1025 { display: none; } } @media (max-width: 1025px) { .contactBar { bottom: 0px; right: 10px; z-index: 16777271; } } @media (max-width: 399px) { .c399 { display: none; } } @media (max-width: 499px) { .c499 { display: none; } #Top h1 { width: auto; } } @media (max-width: 799px) { .c799 { display: none; } } @media (min-width: 799px) { .u799 { display: none; } } @media (max-width: 640px) { .c640 { display: none; } } @media (max-width: 360px) { .c360 { display: none; } } .menu-items { position: absolute; z-index: 1001; background-color: #103754; border-color: #cccccc; border-style: solid; border-width: 1px; padding: 4px; top: 32px; line-height: 36px; } .menu-items a { color: #C3F0FF; font-weight: bold; text-decoration: none; } #navigation-menu, #user-menu, #order-menu { display: inline-block; padding: 2px 4px 0px 4px; vertical-align: middle; text-align: left; position: relative; } #navigation-menu .menu-items, #user-menu .menu-items, #order-menu .menu-items { display: none; } #navigation-button:checked + .menu-items, #user-button:checked + .menu-items, #order-button:checked + .menu-items { display: inline-block; vertical-align: middle; white-space: nowrap; } #navigation-label, #user-label, #order-label { z-index: 1001; display: inline-block; vertical-align: middle; } #navigation-label img, #user-label img, #order-label img { pointer-events: none; } #navigation-menu input[type="checkbox"], #user-menu input[type="checkbox"], #order-menu input[type="checkbox"] { display: none; } </style> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="shortcut icon" href="https://files.phpclasses.org/graphics/phpclasses/favicon.ico"> <link rel="alternate" href="/browse/latest/latest.xml" type="application/rss+xml" title="Latest published classes"> <link rel="alternate" href="/reviews/latest/latest.xml" type="application/rss+xml" title="Latest published book reviews"> <link rel="canonical" href="https://www.phpclasses.org/"> <link rel="preconnect" href="https://files.phpclasses.org/"> <link rel="preconnect" href="https://token.rubiconproject.com"> <link rel="preconnect" href="https://clevernt.com"> <link rel="preconnect" href="https://pagead2.googlesyndication.com"> <link rel="preconnect" href="https://www.google.com"> <link rel="preconnect" href="https://www.gstatic.com"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://srv.buysellads.com"> <meta name="description" lang="en" content="Free PHP Classes and Objects 2024 Versions with PHP Example Scripts, PHP Tutorials, Download PHP Scripts, PHP articles, Remote PHP Jobs, Hire PHP Developers, PHP Book Reviews, PHP Language OOP Materials"> <meta property="fb:pages" content="114418241923267"> <!-- https://files.phpclasses.org/js/contentLoader.js --> <script type="text/javascript"> //<![CDATA[ /* * contentLoader.js * * Get the latest version from: * * http://www.jsclasses.org/fast-content-loader * * @(#) $Id: contentLoader.js,v 1.17 2021/08/12 10:57:05 mlemos Exp $ * * * This LICENSE is in the BSD license style. * * * Copyright (c) 2010, Manuel Lemos * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of Manuel Lemos nor the names of his contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * Portions of the code that implement document write capture are based * on the Bezen library by Eric Brechemier licensed under the Creative * Commons Attribution license 3.0: * * http://creativecommons.org/licenses/by/3.0/ * * http://bezen.org/javascript/ * * Portions of the code that implement JavaScript lazy loading are based * on the Flying scripts by Gijo Varghese: * * https://wordpress.org/plugins/flying-scripts/ */ /*jslint browser: true, devel: true, long: true, single: true, white: true, this: true, for: true */ var ML; if(ML === undefined) { ML = {}; } if(ML.content === undefined) { ML.content = {}; } ML.content.contentLoader = function() { var doNotRemoveThisGetTheLatestVersionFrom = 'https://www.jsclasses.org/fast-content-loader'; var content = []; var update = null; var outputDebug = function(o, message) { if(o.debug) { if(console && console.log) { console.log(message); } else { alert(message); } } return false; }; var replaceContent = function(o) { var remaining = 0; var c; var delayed; var place; var replace; var events; for(c in content) { if(content.hasOwnProperty(c)) { if(!content[c].loaded) { delayed = document.getElementById(content[c].delayed); place = document.getElementById(content[c].id); if(delayed && place) { delayed.parentNode.removeChild(delayed); place.parentNode.replaceChild(delayed, place); delayed.style.display = (content[c].inline ? ((content[c].width || content[c].height) ? 'inline-block' : 'inline') : 'block'); content[c].loaded = true; } else { remaining = remaining + 1; } } } } if(remaining === 0) { window.clearInterval(update); update = null; events = [ 'keydown', 'mouseover', 'touchmove', 'touchstart' ]; replace = function() { document.querySelectorAll("script[data-loading='lazy']").forEach(function(element) { var source; source = element.getAttribute('data-src'); element.removeAttribute('data-src'); element.removeAttribute('data-loading'); element.setAttribute('src', source); } ); window.clearTimeout(update); update = null; events.forEach(function(event) { window.removeEventListener(event, replace, { passive: true }); } ); }; update = window.setTimeout(replace, o.lazyDelay); events.forEach(function(event) { window.addEventListener(event, replace, { passive: true }); } ); } return remaining; }; this.debug = false; this.defaultInline = false; this.updateInterval = 10; this.contentPrefix = 'con'; this.delayedPrefix = 'del'; this.delayedContent = '&nbsp;'; this.lazyDelay = 5000; this.addContent = function(properties) { var i; var m; if(!properties.content) { return outputDebug(this, 'Content properties are missing'); } properties.id = this.contentPrefix + content.length; properties.delayed = this.delayedPrefix + content.length; if(properties.inline === undefined) { properties.inline = this.defaultInline; } properties.loaded = false; if(typeof properties.priority !== 'number') { properties.priority = 0; } document.write('<div id="' + properties.id + '" style="' + (properties.width ? 'width: ' + properties.width + 'px;' : '') + (properties.height ? ' height: ' + properties.height + 'px;' : '') + ' overflow: none; display: ' + (properties.inline ? ((properties.width || properties.height) ? 'inline-block' : 'inline') : 'block') + '">' + this.delayedContent + '</div>'); for(i = content.length; i > 0 && content[i - 1].priority < properties.priority; i = i - 1) { } for(m = content.length; m > i; m = m - 1) { content[m] = content[m - 1]; } content[i] = properties; return true; }; this.loadContent = function() { var o = this; var written; var write; var writeln; var reportError; var catchError; var trim; var hasAttribute; var moveScript; var moveScriptClone; var moveNodes; var insertWritten; var load; var c; if(window.opera || navigator.userAgent.indexOf('MSIE') !== -1) { written = []; write = function(html) { written.push(html); }; writeln = function(html) { write(html + "\n"); }; reportError = function(error, url, line) { if(typeof error === 'object') { reportError(error.message, error.fileName, error.lineNumber); return; } outputDebug(o, error + ' at ' + url + '[' + line + ']'); }; catchError = function(func, description) { var f; description = description || 'error.catchError'; if(typeof func !== 'function') { reportError(description + ': A function is expected, found ' + typeof func); f = function() { }; return f; } f = function() { try { return func.apply(this, []); } catch(e) { if(window.onerror) { window.onerror(description + ': ' + e.message + ' in ' + func, e.fileName, e.lineNumber, true); } } }; return f; }; trim = function(text) { return(text.replace(/^\s*/, '').replace(/\s*$/, '')); }; hasAttribute = function(node, attribute) { var attributeNode; if(node.hasAttribute) { return node.hasAttribute(attribute); } attributeNode = node.getAttributeNode(attribute); if(attributeNode === null) { return false; } return attributeNode.specified; }; moveScript = function(script, target, callback) { var safeCallback = catchError(callback, 'script.onload'); if(script.readyState && script.onload !== null) { script.onreadystatechange = function() { if(script.readyState === 'loaded' || script.readyState === 'complete') { script.onreadystatechange = null; script.onerror = null; safeCallback(); } }; } else { script.onload = safeCallback; } target.appendChild(script); }; moveScriptClone = function(script, target, callback) { var externalScript; var internalScript; var i; var attribute; var code; if(hasAttribute(script, 'src')) { externalScript = document.createElement('script'); for(i = 0; i < script.attributes.length; i = i + 1) { attribute = script.attributes[i]; if(hasAttribute(script, attribute.name)) { externalScript.setAttribute(attribute.name, attribute.value); } } externalScript.text = script.text; moveScript(externalScript, target, callback); } else { internalScript = script.cloneNode(false); internalScript.text = script.text; internalScript.type = 'any'; target.appendChild(internalScript); if(hasAttribute(script, 'type')) { internalScript.setAttribute('type', script.type); } else { internalScript.removeAttribute('type'); } code = trim(internalScript.text); if(code.indexOf('<!--') === 0) { code = code.substr(4); if(code.substr(code.length - 3) === '-->') { code = code.substr(0, code.length - 3); } } (new Function(code))(); callback(); } }; moveNodes = function(source, target, callback) { var nextSource; var nextTarget; var nextStep; var clone; var scriptCount; var sourceAncestor; if(source === null) { callback(); return; } nextSource = null; nextTarget = target; nextStep = function() { moveNodes(nextSource, nextTarget, callback); }; if(source.nodeName === 'SCRIPT' && (!source.language || source.language.toLowerCase() === 'javascript') && (!source.type || trim(source.type).toLowerCase() === 'text/javascript')) { setTimeout(function() { moveScriptClone(source, target, function() { insertWritten(target, nextStep); }); }, 0); } else { clone = source.cloneNode(false); target.appendChild(clone); setTimeout(nextStep, 0); if(source.firstChild) { scriptCount = source.getElementsByTagName('script').length; if(scriptCount === 0) { if(source.nodeName === 'TABLE') { clone.outerHTML = source.outerHTML; } else { clone.innerHTML = source.innerHTML; } } else { nextSource = source.firstChild; nextTarget = clone; } } } if(nextSource === null) { nextSource = source.nextSibling; } sourceAncestor = source.parentNode; while(nextSource === null && sourceAncestor !== null) { nextSource = sourceAncestor.nextSibling; nextTarget = nextTarget.parentNode; sourceAncestor = sourceAncestor.parentNode; } }; insertWritten = function(target, callback) { var div; if(written.length > 0) { div = document.createElement('div'); div.innerHTML = '<br>' + written.join(''); written = []; div.removeChild(div.firstChild); moveNodes(div.firstChild, target, callback); } else { callback(); } }; load = function() { var documentWrite = document.write; var documentWriteln = document.writeln; var loadContentElement; document.write = write; document.writeln = writeln; loadContentElement = function (c) { var div = document.getElementById(content[c].id); div.innerHTML = ''; write(content[c].content); insertWritten(div, function () { content[c].loaded = true; c = c + 1; if(c < content.length) { loadContentElement(c); } else { document.writeln = documentWriteln; document.write = documentWrite; } }); }; loadContentElement(0); }; if(content.length) { if(window.addEventListener) { window.addEventListener('load', load, false); } else { if(window.attachEvent) { window.attachEvent('onload', load); } else { if(document.addEventListener) { document.addEventListener('load', load, false); } else { document.attachEvent('onload', load); } } } } } else { for(c in content) { if(content.hasOwnProperty(c)) { if(!content[c].loaded) { document.write('<div id="' + content[c].delayed + '" style="' + (content[c].width ? 'width: ' + content[c].width + 'px;' : '') + (content[c].height ? ' height: ' + content[c].height + 'px;' : '') + ' overflow: none; display: none">' + content[c].content + '</div>'); } } } if(replaceContent(o) && update === null) { update = window.setInterval(function() { replaceContent(o); }, this.updateInterval); } } }; }; //]]> </script> <script type="text/javascript"><!-- var cl = new ML.content.contentLoader(); var cookies = document.cookie.split(";"), expires = new Date(); for(var c = 0; c < cookies.length; ++c) { var m = cookies[c].match(/^ +([^=]+)/); if(m && m[1] === "visit") break; } if(c === cookies.length) { expires.setTime(expires.getTime()+(24*60*60*1000)); document.cookie = "visit=" + (new Date()).getTime() + "; expires=" + expires.toGMTString() + "; path=/;"; } // --></script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebSite", "url": "https://www.phpclasses.org/", "potentialAction": { "@type": "SearchAction", "target": "https://www.phpclasses.org/search.html?words={search_term}&go_search=1", "query-input": "required name=search_term" } } </script> <!-- https://files.phpclasses.org/css/home.css --> <style type="text/css"> .menutext { } menutext p { margin: 0px; padding: 5px 0px 10px; } .menulink { margin: 0px; font-size: 16px; padding: 0px 0px 5px; } .menulink a { font-size: 16px; text-decoration: none; } .menudescription { margin: 0.5ex; } .menuicon { padding-bottom: 2ex; vertical-align: top; text-align: center; } .menuicon img { margin: 0 10px 0 0; } </style> <meta name="msvalidate.01" content="F935CF5BF896DF21C5F91C31309BED4F"> <script><!-- if (top != window) { top.location = window.location; } // --></script> </head> <body> <div id="fb-root"></div> <!-- Start AdSense page level ads --> <script async data-src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2951707118576741" crossorigin="anonymous" data-loading="lazy"></script> <!-- End AdSense page level ads --> <!-- Start of Sticky BuySellAds --> <script async data-src="//m.servedby-buysellads.com/monetization.js" data-loading="lazy"></script> <script> window.addEventListener("load", (event) => { (function () { if (typeof _bsa !== "undefined" && _bsa) { _bsa.init("stickybox", "CK7DPK3E", "placement:phpclassesorg"); } })(); }); </script> <!-- End of Sticky BuySellAds --> <div id="MainContainer"> <div id="TopLine"></div> <div id="Container"> <div id="UserContent"> <div class="c1025" id="user-bar"><div id="user"><table width="100%" style="margin-bottom: 6px; " cellpadding="4" cellspacing="0" align="center"> <tr> <td width="49.5%" style=" white-space: nowrap ; padding: 1px">&nbsp;</td> <td style=" white-space: nowrap ;"><a href="/login.html?page=">Login</a></td> <td style=" white-space: nowrap ; padding: 1px">&nbsp;</td> <td style=" white-space: nowrap ;"><a rel="nofollow" href="/register.html?page=">Register</a></td> <td width="49.5%" style=" white-space: nowrap ; padding: 1px">&nbsp;</td> </tr> </table> </div></div> <div class="u1025 responsive-menu"><form style="margin: 0" action="/search.html" method="get" onsubmit="this['q'].value = this['words'].value;"> <div id="navigation-menu"><input type="checkbox" id="navigation-button"><div class="menu-items"><div><img src="https://files.phpclasses.org/graphics/phpclasses/browse.png" width="24" height="24" loading="lazy" alt="All class groups" style="border: 0; vertical-align: middle"> <a href="/browse/">All class groups</a></div> <div><img src="https://files.phpclasses.org/graphics/phpclasses/latest.png" width="24" height="24" loading="lazy" alt="Latest entries" style="border: 0; vertical-align: middle"> <a href="/browse/latest/latest.html">Latest entries</a></div> <div><img src="https://files.phpclasses.org/graphics/phpclasses/top.png" width="24" height="24" loading="lazy" alt="Top 10 charts" style="border: 0; vertical-align: middle"> <a href="/browse/top/top.html">Top 10 charts</a></div> <div><img src="https://files.phpclasses.org/graphics/phpclasses/blog.png" width="24" height="24" loading="lazy" alt="Blog" style="border: 0; vertical-align: middle"> <a href="/blog/">Blog</a></div> <div><img src="https://files.phpclasses.org/graphics/phpclasses/forum.png" width="24" height="24" loading="lazy" alt="Forums" style="border: 0; vertical-align: middle"> <a href="/discuss/">Forums</a></div> <div><img src="https://files.phpclasses.org/graphics/phpclasses/shop.png" width="24" height="24" loading="lazy" alt="Shop" style="border: 0; vertical-align: middle"> <a href="/shop/">Shop</a></div> <div><img src="https://files.phpclasses.org/graphics/phpclasses/help.png" width="24" height="24" loading="lazy" alt="Help" style="border: 0; vertical-align: middle"> <a href="/faq/">Help</a></div> </div><label for="navigation-button" id="navigation-label"><span class="drop-icon"><img src="https://files.phpclasses.org/graphics/phpclasses/menu.png" width="24" height="24" loading="lazy" alt="Navigation menu" style="border: 0"></span></label></div><a href="/"><img src="https://files.phpclasses.org/graphics/phpclasses/logo-small-phpclasses.svg" width="75" height="24" loading="lazy" alt="logo small" style="vertical-align: top"></a><div id="user-menu"><input type="checkbox" id="user-button"><div class="menu-items"><div><a href="/login.html?page=">Login</a></div> <div><a href="/register.html?page=">Register</a></div> </div><label for="user-button" id="user-label"><span class="drop-icon"><img src="https://files.phpclasses.org/graphics/phpclasses/user-menu.png" width="24" height="24" loading="lazy" alt="User menu" style="border: 0"></span></label></div><div class="search-input"><input type="text" name="words" size="16" placeholder="Search" style="margin-left: 5px; margin-right: 5px"> <input type="hidden" name="q"> <input type="image" src="https://files.phpclasses.org/graphics/phpclasses/search.png" align="middle" style="width: 24px; height: 24px;" alt="Search"></div><input type="hidden" name="go_search" value="1"> </form></div> </div> <div id="logoPHP" class="c1025"> <div id="logoContainer"><a href="/"><img src="https://files.phpclasses.org/graphics/phpclasses/logo-phpclasses.png" width="180" height="60" loading="lazy" alt="PHP Classes" style="border: 0"></a></div> <div id="topAds"></div> </div> <div id="PageContent"> <div id="Top"> <h1>Welcome to the PHP Classes Repository</h1> <div id="subtitle"></div> </div> <div id="PageInfo"> <div class="c1025"><div id="navigation"><form style="margin: 0" action="/search.html" method="get" onsubmit="this['q'].value = this['words'].value;"> <table width="100%" style="margin-bottom: 6px; " cellpadding="4" cellspacing="0" align="center"> <tr> <td width="49.5%" style=" white-space: nowrap ; padding: 1px">&nbsp;</td> <td style=" white-space: nowrap ;"><a href="/search.html">Search</a> <div class="search-input"><input type="text" name="words" size="16" placeholder="Search" style="margin-left: 5px; margin-right: 5px"> <input type="hidden" name="q"> <input type="image" src="https://files.phpclasses.org/graphics/phpclasses/search.png" align="middle" style="width: 24px; height: 24px;" alt="Search"></div></td> <td style=" white-space: nowrap ; padding: 1px">&nbsp;</td> <td style=" white-space: nowrap ;"><img src="https://files.phpclasses.org/graphics/phpclasses/browse.png" width="24" height="24" loading="lazy" alt="All class groups" style="border: 0; vertical-align: middle"> <a href="/browse/">All class groups</a></td> <td style=" white-space: nowrap ; padding: 1px">&nbsp;</td> <td style=" white-space: nowrap ;"><img src="https://files.phpclasses.org/graphics/phpclasses/latest.png" width="24" height="24" loading="lazy" alt="Latest entries" style="border: 0; vertical-align: middle"> <a href="/browse/latest/latest.html">Latest entries</a></td> <td style=" white-space: nowrap ; padding: 1px">&nbsp;</td> <td style=" white-space: nowrap ;"><img src="https://files.phpclasses.org/graphics/phpclasses/top.png" width="24" height="24" loading="lazy" alt="Top 10 charts" style="border: 0; vertical-align: middle"> <a href="/browse/top/top.html">Top 10 charts</a></td> <td style=" white-space: nowrap ; padding: 1px">&nbsp;</td> <td style=" white-space: nowrap ;"><img src="https://files.phpclasses.org/graphics/phpclasses/blog.png" width="24" height="24" loading="lazy" alt="Blog" style="border: 0; vertical-align: middle"> <a href="/blog/">Blog</a></td> <td style=" white-space: nowrap ; padding: 1px">&nbsp;</td> <td style=" white-space: nowrap ;"><img src="https://files.phpclasses.org/graphics/phpclasses/forum.png" width="24" height="24" loading="lazy" alt="Forums" style="border: 0; vertical-align: middle"> <a href="/discuss/">Forums</a></td> <td style=" white-space: nowrap ; padding: 1px">&nbsp;</td> <td style=" white-space: nowrap ;"><img src="https://files.phpclasses.org/graphics/phpclasses/shop.png" width="24" height="24" loading="lazy" alt="Shop" style="border: 0; vertical-align: middle"> <a href="/shop/">Shop</a></td> <td style=" white-space: nowrap ; padding: 1px">&nbsp;</td> <td style=" white-space: nowrap ;"><img src="https://files.phpclasses.org/graphics/phpclasses/help.png" width="24" height="24" loading="lazy" alt="Help" style="border: 0; vertical-align: middle"> <a href="/faq/">Help</a></td> <td width="49.5%" style=" white-space: nowrap ; padding: 1px">&nbsp;</td> </tr> </table> <input type="hidden" name="go_search" value="1"> </form></div></div> <div class="c1025"><div id="recommendpage"><div id="recommendpagecontainer"><table cellspacing="2" cellpadding="0" align="center"> <tr> <td class="tabcontent box light"><a rel="nofollow" href="https://www.phpclasses.org/recommend_page.html?title=PHP+Class+Scripts%2C+Tutorials%2C+Remote+PHP+Jobs+December+2024+Openings%2C+PHP+Shop%2C+PHP+Awards%2C+Professionals%2C+Book+reviews%2C+User+groups%2C+Forums&amp;page=%2F">Recommend</a> this page to a friend!</td> </tr> </table></div></div> </div> <div> <div class="InfoContent"></div> <div id="ads"></div> <div class="BodyContent"> <div class="BodyColumn"></div> <div id="BodyContent" class="InfoContent"><!-- body_start --><table align="center" width="100%"><tr><td class="c640" style="width: 300px" valign="top"><h2 align="center">Featured Articles</h2> <div align="center" style="max-height: 50em; overflow: auto" class="box back"><table align="center" width="100%" cellpadding="2" cellspacing="0"> <tr id="databasetablerow0"> <th></th> </tr> <tr id="databasetablerow1" class="odd"> <td><big><b><a href="blog/post/1166-How-to-Use-PHP-Tools-to-Learn-How-to-Use-the-PHP-Best-Code-Practices.html">How to Use PHP Tools to Learn How to Use the PHP Best Code Practices</a></b></big></td> </tr> <tr id="databasetablerow2" class="even"> <td><big><b><a href="blog/post/1041-php-development-master-award-tutorial.html">How Can You Become a PHP Master and Have More Recognition For Your Open Source Contributions</a></b></big></td> </tr> <tr id="databasetablerow3" class="odd"> <td><big><b><a href="blog/post/830-Faster-PHP-Hosting-Services-with-1-Click-Deployment.html">Faster PHP Hosting Services with 1-Click Deployment</a></b></big></td> </tr> <tr id="databasetablerow4" class="even"> <td><big><b><a href="blog/post/793-Check-the-LambdaTest-Selenium-Testing-Tool-Tutorial-with-Examples-in-2019.html">Check the LambdaTest Selenium Testing Tool Tutorial with Examples in 2019</a></b></big></td> </tr> <tr id="databasetablerow5" class="odd"> <td><big><b><a href="blog/post/303-How-to-create-a-simple-PHP-CMS-with-SEO-friendly-links.html">How to Create a Simple PHP Custom CMS Tutorial in 2019 Way with PHP SEO Friendly URL Generated HTML Links</a></b></big></td> </tr> <tr id="databasetablerow6" class="even"> <td><big><b><a href="blog/post/876-laravel-dependency-management.html">What is Laravel Dependency Management?</a></b></big></td> </tr> <tr id="databasetablerow7" class="odd"> <td><big><b><a href="blog/post/482-best-php-ide-of-the-year-comparison.html">The Best PHP IDE 2019 and 2018 Comparison - The Most Popular Editors for Development under Windows, Mac and Linux either Open Source, Free or Commercial</a></b></big></td> </tr> <tr id="databasetablerow8" class="even"> <td><big><b><a href="blog/post/567-The-Best-PHP-Books-of-the-Year.html">The Best PHP Books 2018 and 2017</a></b></big></td> </tr> <tr id="databasetablerow9" class="odd"> <td><big><b><a href="blog/post/528-WordPress-Security-Plugins-Comparison.html">Best WordPress Security Plugin 2018 and 2017 - Review and Comparison of Top Free and Premium Versions of New Plugins and Support Services from Several Companies</a></b></big></td> </tr> <tr id="databasetablerow10" class="even"> <td><big><b><a href="blog/post/493-php-performance-evolution.html">PHP Performance Comparison 2018 and 2017 - PHP Benchmark Script to Figure How Each PHP Version Compare in Speed Improvements between PHP 5 vs PHP 7.0 vs 7.1 with OpCache vs PHP 8 or PHP 7.2 with a PHP JIT Features</a></b></big></td> </tr> <tr id="databasetablerow11" class="odd"> <td><big><b><a href="blog/post/647-How-to-Build-Fast-Web-Applications-using-JavaScript-in-2018-with-Wix-Code.html">How to Build Fast Web Applications using JavaScript in 2018 with Wix Code</a></b></big></td> </tr> <tr id="databasetablerow12" class="even"> <td><big><b><a href="blog/post/485-youtube-downloader-php-script-of-the-year.html">PHP YouTube Downloader Script 2017 that Works - How to Download a Video of Any Website using a Converter from YouTube to MP4 or Convert to MP3</a></b></big></td> </tr> <tr id="databasetablerow13" class="odd"> <td><big><b><a href="blog/post/584-How-Can-PHP-Compare-Two-Images-for-Similarity.html">How Can PHP Compare Two Images for Similarity</a></b></big></td> </tr> <tr id="databasetablerow14" class="even"> <td><big><b><a href="blog/post/594-How-to-Create-a-PHP-CAPTCHA-Solver-with-a-PHP-OCR-Class.html">How to Create a PHP CAPTCHA Solver with a PHP OCR Class</a></b></big></td> </tr> <tr id="databasetablerow15" class="odd"> <td><big><b><a href="blog/post/286-Leaflet-Map-Search-using-AJAX-requests-to-a-PHP-and-MySQL-Mapping-Application.html">Leaflet Search Map using PHP MySQL AJAX requests</a></b></big></td> </tr> <tr id="databasetablerow16" class="even"> <td><big><b><a href="blog/post/284-Create-a-Google-Maps-alternative-with-PHP-and-MySQL-using-the-Leaflet-library.html">Using PHP MySQL with Google Maps Alternative using the Leaflet library</a></b></big></td> </tr> <tr id="databasetablerow17" class="odd"> <td><big><b><a href="blog/post/571-php-xlsx-mysql.html">How Can PHP Import Excel to MySQL using an PHP XLSX Reader and Excel XLSX Converter</a></b></big></td> </tr> <tr id="databasetablerow18" class="even"> <td><big><b><a href="blog/post/228-How-to-Use-a-Webcam-to-take-Pictures-in-PHP-Application.html">PHP Webcam Capture Image Database PHP Script to take Photo Picture from Camera</a></b></big></td> </tr> <tr id="databasetablerow19" class="odd"> <td><big><b><a href="blog/post/315-Create-Microsoft-Word-DOCX-files-from-HTML-in-PHP-Part-1-Simple-Example.html">PHP Word Document Generator to Convert HTML to DOCX Part 1: Using VS PHP Word HTML class or PHPDocX Example</a></b></big></td> </tr> <tr id="databasetablerow20" class="even"> <td><big><b><a href="blog/post/178-Why-is-it-better-to-develop-in-PHP-with-classes-OOP.html">What Are PHP Classes - PHP OOP Example Project on How to Use a Class in PHP</a></b></big></td> </tr> <tr id="databasetablerow21" class="odd"> <td><big><b><a href="blog/post/334-PHP-Tutorial-on-using-the-Official-Google-Search-API.html">Google Search API PHP Example Tutorial with Demo to Get the First Web Pages and Images as a JSON Array</a></b></big></td> </tr> <tr id="databasetablerow22" class="even"> <td><big><b><a href="blog/post/327-How-to-Easily-Search-DOCX-DOC-PDF-Documents-in-PHP-Converting-them-to-Plain-Text.html">How to make a PHP PDF Search Engine as well Read DOCX, DOC, PDF Document File or Content String to Convert to Text</a></b></big></td> </tr> <tr id="databasetablerow23" class="odd"> <td><big><b><a href="blog/post/521-mysqli-vs-pdo-vs-mysql.html">MySQL vs MySQLi vs PDO Performance Benchmark, Difference and Security Comparison in 2016 and 2017 - Find Converter Wrapper and ORM Packages</a></b></big></td> </tr> </table> </div><h2 align="center">Featured Classes</h2> <div align="center" style="max-height: 25em; overflow: auto" class="box back"><table align="center" width="100%" cellpadding="2" cellspacing="0"> <tr id="databasetablerow0"> <th></th> </tr> <tr id="databasetablerow1" class="odd"> <td><big><b>1. <a href="package/9732-PHP-Extract-text-contents-from-PDF-files.html">How can PHP Extract Text from PDF using PHP PDF to Text</a></b></big><br><small>Extract text contents from PDF files</small></td> </tr> <tr id="databasetablerow2" class="even"> <td><big><b>2. <a href="package/7545-PHP-Spell-Nigeria-currency-amounts-in-English.html">Number to Word (currency)</a></b></big><br><small>Spell Nigeria currency amounts in English</small></td> </tr> <tr id="databasetablerow3" class="odd"> <td><big><b>3. <a href="package/11490-PHP-Keep-track-of-employee-attendance-with-fingerprint.html">PHP Attendance Management System using Fingerprint</a></b></big><br><small>Keep track of employee attendance with fingerprint</small></td> </tr> <tr id="databasetablerow4" class="even"> <td><big><b>4. <a href="package/8297-PHP-Download-and-extract-a-zip-file-from-a-remote-site.html">Download ZIP from URL</a></b></big><br><small>Download and extract a zip file from a remote site</small></td> </tr> <tr id="databasetablerow5" class="odd"> <td><big><b>5. <a href="package/4575-PHP-Generate-and-validate-US-social-security-numbers.html">How to Use a Fake SSN Generator with Name with the Free SSN Generator using the PHP Social Security Number (SSN) Generator Class</a></b></big><br><small>Generate and validate US social security numbers</small></td> </tr> <tr id="databasetablerow6" class="even"> <td><big><b>6. <a href="package/6279-PHP-Parse-and-retrieve-data-from-Excel-XLS-files.html">How can PHP Read Excel File xlsx in 2022 using SimpleXLSX</a></b></big><br><small>Parse and retrieve data from Excel XLS files</small></td> </tr> <tr id="databasetablerow7" class="odd"> <td><big><b>7. <a href="package/8890-PHP-Generate-QR-Code-images-in-pure-PHP.html">PHP QR Code Generator</a></b></big><br><small>Generate QR Code images in pure PHP</small></td> </tr> <tr id="databasetablerow8" class="even"> <td><big><b>8. <a href="package/10995-PHP-Download-the-files-of-videos-on-YouTube.html">PHP YouTube Video Downloader Script</a></b></big><br><small>Download the files of videos on YouTube</small></td> </tr> <tr id="databasetablerow9" class="odd"> <td><big><b>9. <a href="package/9963-PHP-Convert-HTML-to-Excel-spreadsheets.html">PHP HTML Excel</a></b></big><br><small>Convert HTML to Excel spreadsheets</small></td> </tr> <tr id="databasetablerow10" class="even"> <td><big><b>10. <a href="package/11834-PHP-Convert-Microsoft-Word-DOCX-document-to-HTML.html">PHP Word DOCX to HTML with Images</a></b></big><br><small>Convert Microsoft Word DOCX document to HTML</small></td> </tr> <tr id="databasetablerow11" class="odd"> <td><big><b>11. <a href="package/11787-PHP-Generate-URL-or-QRCode-to-pay-using-the-UPI-app.html">UPI PHP Payment API Link</a></b></big><br><small>Generate URL or QRCode to pay using the UPI app</small></td> </tr> <tr id="databasetablerow12" class="even"> <td><big><b>12. <a href="package/3338-PHP-Generate-form-input-to-pick-a-calendar-date.html">How to Add Datepicker in PHP Form with PHP date picker class</a></b></big><br><small>Generate form input to pick a calendar date</small></td> </tr> <tr id="databasetablerow13" class="odd"> <td><big><b>13. <a href="package/10149-PHP-Send-and-receive-messages-to-Telegram-users.html">PHP Telegram Bot</a></b></big><br><small>Send and receive messages to Telegram users</small></td> </tr> <tr id="databasetablerow14" class="even"> <td><big><b>14. <a href="package/9277-PHP-Parse-iCalendar-ics-files-to-extract-event-details.html">PHP ICS Calendar Reader</a></b></big><br><small>Parse iCalendar ics files to extract event details</small></td> </tr> <tr id="databasetablerow15" class="odd"> <td><big><b>15. <a href="package/10208-PHP-Query-JSON-data-to-find-and-extract-information.html">PHP JSON Query</a></b></big><br><small>Query JSON data to find and extract information</small></td> </tr> <tr id="databasetablerow16" class="even"> <td><big><b>16. <a href="package/6081-PHP-Decrypt-MD5-password-and-hashes-with-MD5Decryter.html">How to Decode MD5 in PHP with the Class PHP MD5 Decrypter</a></b></big><br><small>Decrypt MD5 password and hashes with MD5Decryter</small></td> </tr> <tr id="databasetablerow17" class="odd"> <td><big><b>17. <a href="package/9423-PHP-Convert-PDF-to-HTML-using-Poppler.html">PHP PDF to HTML</a></b></big><br><small>Convert PDF to HTML using Poppler</small></td> </tr> <tr id="databasetablerow18" class="even"> <td><big><b>18. <a href="package/5075-PHP-Add-multiple-languages-to-a-Web-site-very-easy-.html">Add multiple languages to a Web</a></b></big><br><small>Add multiple languages to a Web site very easy.</small></td> </tr> <tr id="databasetablerow19" class="odd"> <td><big><b>19. <a href="package/11346-PHP-Organize-the-matches-of-teams-in-a-tournament.html">PHP Tournament Bracket Generator</a></b></big><br><small>Organize the matches of teams in a tournament</small></td> </tr> <tr id="databasetablerow20" class="even"> <td><big><b>20. <a href="package/12547-PHP-Generate-JWT-tokens-and-decode-token-values.html">PHP JWT Decode and Generate</a></b></big><br><small>Generate JWT tokens and decode token values</small></td> </tr> <tr id="databasetablerow21" class="odd"> <td><big><b>21. <a href="package/7176-PHP-Validate-and-extract-details-from-a-Romanian-CNP.html">CNP validator</a></b></big><br><small>Validate and extract details from a Romanian CNP</small></td> </tr> <tr id="databasetablerow22" class="even"> <td><big><b>22. <a href="package/1327-PHP-Download-the-movie-poster-and-images-from-IMDB.html">IMDBPhotos</a></b></big><br><small>Download the movie poster and images from IMDB</small></td> </tr> <tr id="databasetablerow23" class="odd"> <td><big><b>23. <a href="package/11672-PHP-Application-to-manage-project-tasks.html">Laravel PHP Task Manager</a></b></big><br><small>Application to manage project tasks</small></td> </tr> <tr id="databasetablerow24" class="even"> <td><big><b>24. <a href="package/12268-PHP-Generate-charts-to-display-as-images-in-Web-pages.html">PHP Graph</a></b></big><br><small>Generate charts to display as images in Web pages</small></td> </tr> <tr id="databasetablerow25" class="odd"> <td><big><b>25. <a href="package/4326-PHP-Authenticate-users-with-a-RADIUS-server.html">Pure PHP radius class</a></b></big><br><small>Authenticate users with a RADIUS server</small></td> </tr> <tr id="databasetablerow26" class="even"> <td><big><b>&quot;. <a href="package/7700-PHP-Authorize-and-access-APIs-using-OAuth.html">PHP OAuth Library</a></b></big><br><small>Authorize and access APIs using OAuth</small></td> </tr> <tr id="databasetablerow27" class="odd"> <td><big><b>27. <a href="package/10183-PHP-Extract-metadata-from-audio-and-video-files.html">PHP Media File Info</a></b></big><br><small>Extract metadata from audio and video files</small></td> </tr> <tr id="databasetablerow28" class="even"> <td><big><b>28. <a href="package/8140-PHP-Execute-JavaScript-using-Node-js-from-PHP.html">PHP Node.js</a></b></big><br><small>Execute JavaScript using Node.js from PHP</small></td> </tr> <tr id="databasetablerow29" class="odd"> <td><big><b>29. <a href="package/8331-PHP-Find-and-view-the-difference-between-text-strings.html">PHP Text Diff Highlight class</a></b></big><br><small>Find and view the difference between text strings</small></td> </tr> <tr id="databasetablerow30" class="even"> <td><big><b>30. <a href="package/9435-PHP-Convert-and-manipulate-Hijri-dates.html">PHP Hijri Date Calendar</a></b></big><br><small>Convert and manipulate Hijri dates</small></td> </tr> <tr id="databasetablerow31" class="odd"> <td><big><b>31. <a href="package/11779-PHP-Create-entities-and-collections-of-objects.html">PHP Entities</a></b></big><br><small>Create entities and collections of objects</small></td> </tr> <tr id="databasetablerow32" class="even"> <td><big><b>32. <a href="package/9276-PHP-Get-names-and-codes-of-all-world-countries.html">PHP Countries List Array</a></b></big><br><small>Get names and codes of all world countries</small></td> </tr> <tr id="databasetablerow33" class="odd"> <td><big><b>&quot;. <a href="package/11074-PHP-Scan-PHP-files-to-find-malicious-code.html">PHP Malware Scanner Free Tool</a></b></big><br><small>Scan PHP files to find malicious code</small></td> </tr> <tr id="databasetablerow34" class="even"> <td><big><b>34. <a href="package/9865-PHP-Reduce-the-size-of-source-files-in-PHP-CSS-or-JS.html">PHP Minify JS, CSS, PHP and HTML</a></b></big><br><small>Reduce the size of source files in PHP, CSS or JS</small></td> </tr> <tr id="databasetablerow35" class="odd"> <td><big><b>35. <a href="package/1863-PHP-Obfuscate-a-Javascript-source-code.html">Javascript Obfuscator</a></b></big><br><small>Obfuscate a Javascript source code</small></td> </tr> <tr id="databasetablerow36" class="even"> <td><big><b>36. <a href="package/11545-PHP-Import-and-export-contact-lists-in-vCard-format.html">PHP vCard Library</a></b></big><br><small>Import and export contact lists in vCard format</small></td> </tr> <tr id="databasetablerow37" class="odd"> <td><big><b>37. <a href="package/8636-PHP-Parse-manipulate-and-format-dates.html">PHP Moment Date</a></b></big><br><small>Parse, manipulate and format dates</small></td> </tr> <tr id="databasetablerow38" class="even"> <td><big><b>38. <a href="package/8169-PHP-Import-and-export-Excel-files-to-XLS-XLSX-and-CSV.html">Basic Excel</a></b></big><br><small>Import and export Excel files to XLS, XLSX and CSV</small></td> </tr> <tr id="databasetablerow39" class="odd"> <td><big><b>39. <a href="package/1155-PHP-Browsing-the-Web-via-PHP.html">PHP server-side web browser</a></b></big><br><small>Browsing the Web via PHP</small></td> </tr> <tr id="databasetablerow40" class="even"> <td><big><b>40. <a href="package/12274-PHP-Extract-text-from-Microsoft-Word-DOCX-files.html">PHP DOCX to Text</a></b></big><br><small>Extract text from Microsoft Word DOCX files</small></td> </tr> <tr id="databasetablerow41" class="odd"> <td><big><b>&quot;. <a href="package/12901-PHP-Extends-PHP-Excel-classes-with-pivot-table-support.html">PHP Excel Pivot Tables</a></b></big><br><small>Extends PHP Excel classes with pivot table support</small></td> </tr> </table> </div></td><td valign="top"><!-- google_ad_section_start --><table align="center" width="100%"> <tr> <td><table align="center"> <tr> <td class="menuicon"><a href="/browse/"><img src="https://files.phpclasses.org/graphics/phpclasses/package-large.png" width="80" height="60" loading="lazy" alt="PHP Class Scripts" style="border: 0; vertical-align: middle"></a></td> <td class="menutext"><h2 class="menulink"><a href="/browse/">PHP Class Scripts</a></h2><p class="menudescription">Find useful PHP components</p></td> </tr> <tr> <td class="menuicon"><a href="/recommend/"><img src="https://files.phpclasses.org/graphics/phpclasses/premium-large.png" width="80" height="60" loading="lazy" alt="Recommend PHP Scripts" style="border: 0; vertical-align: middle"></a></td> <td class="menutext"><h2 class="menulink"><a href="/recommend/">Recommend PHP Scripts</a></h2><p class="menudescription">Get expert advice about the best PHP classes scripts</p></td> </tr> <tr> <td class="menuicon"><a href="/blog/category/php-tutorials/"><img src="https://files.phpclasses.org/graphics/phpclasses/tutorial-large.png" width="80" height="60" loading="lazy" alt="PHP Tutorials" style="border: 0; vertical-align: middle"></a></td> <td class="menutext"><h2 class="menulink"><a href="/blog/category/php-tutorials/">PHP Tutorials</a></h2><p class="menudescription">Technical articles about PHP and related matters</p></td> </tr> <tr> <td class="menuicon"><a href="/jobs/"><img src="https://files.phpclasses.org/graphics/phpclasses/job-large.png" width="80" height="60" loading="lazy" alt="Remote PHP Jobs December 2024 Openings" style="border: 0; vertical-align: middle"></a></td> <td class="menutext"><h2 class="menulink"><a href="/jobs/">Remote PHP Jobs December 2024 Openings</a></h2><p class="menudescription">Find or post PHP jobs from everywhere in the world</p></td> </tr> <tr> <td class="menuicon"><a href="/shop/"><img src="https://files.phpclasses.org/graphics/phpclasses/shop-large.png" width="80" height="60" loading="lazy" alt="PHP Shop" style="border: 0; vertical-align: middle"></a></td> <td class="menutext"><h2 class="menulink"><a href="/shop/">PHP Shop</a></h2><p class="menudescription"><a href="/shop/">Buy the original PHP elePHPant, Post Urgent PHP Jobs, Get Remote PHP Jobs</a></p></td> </tr> <tr> <td class="menuicon"><a href="/award/"><img src="https://files.phpclasses.org/graphics/phpclasses/award-large.png" width="80" height="60" loading="lazy" alt="PHP Awards" style="border: 0; vertical-align: middle"></a></td> <td class="menutext"><h2 class="menulink"><a href="/award/">PHP Awards</a></h2><p class="menudescription">Award initiatives to distinguish PHP developers</p></td> </tr> <tr> <td class="menuicon"><a href="/professionals/"><img src="https://files.phpclasses.org/graphics/phpclasses/professional-large.png" width="80" height="60" loading="lazy" alt="PHP Professionals" style="border: 0; vertical-align: middle"></a></td> <td class="menutext"><h2 class="menulink"><a href="/professionals/">PHP Professionals</a></h2><p class="menudescription">Find PHP professionals from all over the world available to take PHP jobs</p></td> </tr> <tr> <td class="menuicon"><a href="/reviews/"><img src="https://files.phpclasses.org/graphics/phpclasses/review-large.png" width="80" height="60" loading="lazy" alt="PHP Book Reviews" style="border: 0; vertical-align: middle"></a></td> <td class="menutext"><h2 class="menulink"><a href="/reviews/">PHP Book Reviews</a></h2><p class="menudescription">Read reviews of PHP books and other products</p></td> </tr> <tr> <td class="menuicon"><a href="browse/group/"><img src="https://files.phpclasses.org/graphics/phpclasses/usergroup-large.png" width="80" height="60" loading="lazy" alt="PHP User groups" style="border: 0; vertical-align: middle"></a></td> <td class="menutext"><h2 class="menulink"><a href="browse/group/">PHP User groups</a></h2><p class="menudescription">Find PHP user groups of your region</p></td> </tr> <tr> <td class="menuicon"><a href="/discuss/"><img src="https://files.phpclasses.org/graphics/phpclasses/forum-large.png" width="80" height="60" loading="lazy" alt="PHP Forums" style="border: 0; vertical-align: middle"></a></td> <td class="menutext"><h2 class="menulink"><a href="/discuss/">PHP Forums</a></h2><p class="menudescription">Ask questions about PHP and the published classes</p></td> </tr> </table><h2 align="center">Looking for <a href="https://www.jsclasses.org/">JavaScript scripts</a>?</h2><h3 align="center">Look at <a href="https://www.jsclasses.org/">JS Classes</a> site <a href="https://www.jsclasses.org/"><img src="https://files.jsclasses.org/graphics/jsclasses/logo-small-jsclasses.png" ALT="JavaScript" style="border-width: 0" loading="lazy"></a></h3><p align="center"><b><a rel="publisher" href="https://plus.google.com/116104800648273163366?prsrc=3">PHP Classes in Google+ <img src="//ssl.gstatic.com/images/icons/gplus-16.png" alt="Google+" style="border:0; width: 16px; height: 16px; vertical-align: middle" loading="lazy"/></a></b></p></td> </tr> </table> <!-- google_ad_section_end --><h2 align="center">Featured Class Articles</h2> <div align="center" style="max-height: 50em; overflow: auto" class="box back"><table align="center" width="100%" cellpadding="2" cellspacing="0"> <tr id="databasetablerow0"> <th></th> </tr> <tr id="databasetablerow1" class="odd"> <td><big><b>1. <a href="blog/package/11632/post/1-How-to-Use-PHP-to-Send-Web-Push-Notifications-for-Your-Web-Site-in-2020.html">How to Use a PHP Push Notifications Class on Your Web Site in 2023 with this Send Web Push Notifications Tutorial</a></b></big><br><small>PHP Web Push Notifications Server</small></td> </tr> <tr id="databasetablerow2" class="even"> <td><big><b>2. <a href="blog/package/9199/post/3-Smoothly-Migrate-your-PHP-Code-using-the-Old-MySQL-extension-to-MySQLi.html">How to Convert MySQL to MySQLi PHP Code to Upgrade to PHP7 Doing the PHP MySQL MySQLi Migration Using PHP with MySQLi Extension</a></b></big><br><small>PHP MySQL to MySQLi</small></td> </tr> <tr id="databasetablerow3" class="odd"> <td><big><b>3. <a href="blog/package/9732/post/1-How-to-Extract-Text-and-Images-from-PDF-File-Using-PHP.html">How Can PHP Read PDF File Content and Extract Text from PDF using PHP - How Can PHP Extract Image from PDF and Search PDF Content using PHP PDFToText Class</a></b></big><br><small>PHP PDF to Text</small></td> </tr> <tr id="databasetablerow4" class="even"> <td><big><b>4. <a href="blog/package/10192/post/1-Tutorial-on-How-to-Control-an-Android-Phone-or-Tablet-using-PHP-with-Termux-App.html">How to Use Termux Tutorial Running PHP Web Server or CLI with Termux PHP App to Control an Android Phone or Tablet</a></b></big><br><small>PHP Termux API</small></td> </tr> <tr id="databasetablerow5" class="odd"> <td><big><b>5. <a href="blog/package/3213/post/1-Tutorial-on-Creating-an-AJAX-based-Chat-system-in-PHP.html">PHP Chat System 2022 Tutorial on How to Create an AJAX and PHP Chat Application - Make a Live Chat Room or a One to One Chat Box in PHP Source Code using MySQL and jQuery</a></b></big><br><small>AJAX driven simple chat</small></td> </tr> <tr id="databasetablerow6" class="even"> <td><big><b>6. <a href="blog/package/3188/post/1-Creating-an-AJAX-based-PHP-Shopping-Cart-Part-1-Building-the-Cart.html">How to Create a Simple Online PHP Shopping Cart Script Tutorial Step by Step Part 1: Add to Cart in PHP Example with HTML, AJAX, jQuery and MySQL - Demo Script using a Basket stored in Session Variables with PHP Shopping Cart Source Code</a></b></big><br><small>Shopping Cart</small></td> </tr> <tr id="databasetablerow7" class="odd"> <td><big><b>&quot;. <a href="blog/package/9415/post/1-How-to-Perform-Phone-Number-and-User-Verification-in-PHP.html">PHP Phone Number Validation with Country Code</a></b></big><br><small>Free Phone Number Verification in PHP</small></td> </tr> <tr id="databasetablerow8" class="even"> <td><big><b>8. <a href="blog/package/11553/post/1-PHP-PDF-Report-Generator-Example.html">How to Create a PHP PDF Report Generator Script with a Real Example</a></b></big><br><small>PHP PDF Table using FPDF</small></td> </tr> <tr id="databasetablerow9" class="odd"> <td><big><b>9. <a href="blog/package/9574/post/1-PHP-Source-Code-Protection-Solutions.html">How to Protect PHP Source Code Free, Open Source and Commercial Solutions - Source Code Protection Software Obfuscator, Encoding to Encrypt and Secure Applications Code</a></b></big><br><small>PHP Application Packer</small></td> </tr> <tr id="databasetablerow10" class="even"> <td><big><b>10. <a href="blog/package/2/post/1-Process-incoming-email-messages-using-PHP.html">How Can PHP Read Email Inbox for Inbound Mail Processing and Have PHP Process Incoming Email</a></b></big><br><small>POP3 e-mail client</small></td> </tr> <tr id="databasetablerow11" class="odd"> <td><big><b>11. <a href="blog/package/12182/post/2-How-to-Use-a-PHP-Raspberry-PI-GPIO-Library-To-Communicate-with-the-Hardware-Ports-Directly-Without-Using-shell-exec-.html">How to Use a PHP Raspberry PI GPIO Library To Communicate with the Hardware Ports Directly Without Using shell_exec()</a></b></big><br><small>PHP Led Raspberry PI</small></td> </tr> <tr id="databasetablerow12" class="even"> <td><big><b>12. <a href="blog/package/7700/post/5-4-Ways-to-Access-an-OAuth-API-Without-User-Interaction.html">4 Ways to Access an API using OAuth Without User Interaction - OAuth2 Automatic Login with Facebook, Google or Any Other API</a></b></big><br><small>PHP OAuth Library</small></td> </tr> <tr id="databasetablerow13" class="odd"> <td><big><b>13. <a href="blog/package/1/post/9-Modern-PHP-CSRF-Protection-Example-using-a-PHP-Forms-Library.html">Modern PHP CSRF Protection Example using a PHP Forms Library</a></b></big><br><small>PHP Forms Class with HTML Generator and JavaScript Validation</small></td> </tr> <tr id="databasetablerow14" class="even"> <td><big><b>14. <a href="blog/package/9530/post/1-PHP-Tutorial-on-Web-Page-Screenshot-Capture.html">PHP Screenshot Script to Take a Webpage Screenshot - How to Create a Full Print Screen Snapshot Thumbnail Using the URL of a Website</a></b></big><br><small>PHP Ultimate Web Page Capture</small></td> </tr> <tr id="databasetablerow15" class="odd"> <td><big><b>15. <a href="blog/package/12991/post/1-How-to-Use-a-PHP-ImageMagick-Extension-to-Convert-SVG-to-PNG-Removing-Transparency.html">How to Use a PHP ImageMagick Extension to Convert SVG to PNG Removing Transparency</a></b></big><br><small>PHP Imagick SVG to PHP</small></td> </tr> <tr id="databasetablerow16" class="even"> <td><big><b>16. <a href="blog/package/1/post/7-Showing-Google-Maps-with-many-markers-in-PHP.html">How to Show Google Maps with Multiple Locations and Many Markers using Latitude and Longitude in PHP</a></b></big><br><small>PHP Forms Class with HTML Generator and JavaScript Validation</small></td> </tr> <tr id="databasetablerow17" class="odd"> <td><big><b>17. <a href="blog/package/12903/post/1-How-to-Use-a-PHP-DOCX-to-PDF-Converter-using-LibreOffice.html">How to Use a PHP DOCX to PDF Converter using LibreOffice</a></b></big><br><small>Bitrix24 PHP LibreOffice Convert DOCX to PDF and JPEG</small></td> </tr> <tr id="databasetablerow18" class="even"> <td><big><b>18. <a href="blog/package/12633/post/1-How-Can-PHP-Sign-PDF-Documents-Using-Certificates-that-Allow-the-People-that-Will-Receive-the-Documents-to-Verify-their-Authenticity.html">How Can PHP Sign PDF Documents Using Certificates that Allow the People that Will Receive the Documents to Verify their Authenticity</a></b></big><br><small>Laravel A1 PDF Sign</small></td> </tr> <tr id="databasetablerow19" class="odd"> <td><big><b>19. <a href="blog/package/10337/post/1-How-to-Use-a-Simple-Database-Connection-Class.html">How to Use a Simple Database Connection Class</a></b></big><br><small>PHP MySQL Database</small></td> </tr> <tr id="databasetablerow20" class="even"> <td><big><b>&quot;. <a href="blog/package/12173/post/1-How-to-Create-a-PDF-Label-Printing-Software-in-PHP.html">How to Create a PDF Label Printing Software in PHP</a></b></big><br><small>PHP Print Labels to PDF</small></td> </tr> </table> </div></td><td class="c1025" style="width: 300px" valign="top"><script type="text/javascript"><!-- cl.addContent({ content: '\x3c!-- PHPClasses-Below-The-Fold --\x3e\n\n\x3c!-- AdSense Below the fold --\x3e\n\x3cp\x3e&nbsp;\x3c\x2fp\x3e\n\x3cscript async data-src="https:\x2f\x2fpagead2.googlesyndication.com\x2fpagead\x2fjs\x2fadsbygoogle.js?client=ca-pub-2951707118576741" data-loading="lazy"\n crossorigin="anonymous"\x3e\x3c\x2fscript\x3e\n\x3c!-- PHP Classes below the fold --\x3e\n\x3cins class="adsbygoogle"\n style="display:inline-block;width:300px;height:250px"\n data-ad-client="ca-pub-2951707118576741"\n data-ad-slot="9106526349"\x3e\x3c\x2fins\x3e\n\x3cscript\x3e\n (adsbygoogle = window.adsbygoogle || []).push({});\n\x3c\x2fscript\x3e\n\x3c!-- End of AdSense DFP Below the fold --\x3e\n\n\n\x3c!-- End-PHPClasses-Below-The-Fold --\x3e\n', inline: false, width: 336, height: 280, priority: 1 }); // --></script> <h2 align="center">Latest classes</h2><table align="center" class="box back" cellpadding="2" cellspacing="0"> <tr id="pcl0"> <th>Class</th> <th>Days</th> </tr> <tr id="pcl1" class="odd"> <td><big><b><a href="/package/13408-PHP-Framework-of-general-purposes-classes.html">Ascoos Framework 24</a></b></big><br> Framework of general purposes classes</td> <td align="center">1</td> </tr> <tr id="pcl2" class="even"> <td><big><b><a href="/package/13421-PHP-Retrieve-movie-information-with-the-TMDB-com-API.html">The Movie Database Service</a></b></big><br> Retrieve movie information with the TMDB.com API</td> <td align="center">1</td> </tr> <tr id="pcl3" class="odd"> <td><big><b><a href="/package/13412-PHP-Examples-and-tests-of-usage-of-Ascoos-Framework-24.html">AFW Examples</a></b></big><br> Examples and tests of usage of Ascoos Framework 24</td> <td align="center">1</td> </tr> <tr id="pcl4" class="even"> <td><big><b><a href="/package/13419-PHP-Read-and-write-data-to-files-using-fibers.html">Penelope Asynchronous File Handler using Fibers</a></b></big> <div style="display: inline" class="new button">New</div><br> Read and write data to files using fibers</td> <td align="center">1</td> </tr> <tr id="pcl5" class="odd"> <td><big><b><a href="/package/13421-PHP-Retrieve-movie-information-with-the-TMDB-com-API.html">The Movie Database Service</a></b></big> <div style="display: inline" class="new button">New</div><br> Retrieve movie information with the TMDB.com API</td> <td align="center">1</td> </tr> </table> </td></tr></table><!-- body_end --><div class="c1025"><script type="text/javascript"><!-- cl.addContent({ content: '\x3cbr\x3e\x3cdiv align="center"\x3e\x3c!-- PHPClasses-Bottom --\x3e\n\n\x3c!-- AdSense Bottom --\x3e\n\x3cscript async data-src="https:\x2f\x2fpagead2.googlesyndication.com\x2fpagead\x2fjs\x2fadsbygoogle.js?client=ca-pub-2951707118576741" data-loading="lazy"\n crossorigin="anonymous"\x3e\x3c\x2fscript\x3e\n\x3c!-- PHP Classes Bottom --\x3e\n\x3cins class="adsbygoogle"\n style="display:inline-block;width:728px;height:90px"\n data-ad-client="ca-pub-2951707118576741"\n data-ad-slot="0161400320"\x3e\x3c\x2fins\x3e\n\x3cscript\x3e\n (adsbygoogle = window.adsbygoogle || []).push({});\n\x3c\x2fscript\x3e\n\x3c!-- End of AdSense Bottom --\x3e\n\n\n\x3c\x2fdiv\x3e', inline: false, height: 90, priority: 1 }); // --></script> </div><script type="text/javascript"><!-- cl.addContent({ content: '\n\x3c!-- Start of Google Analytics 4 --\x3e\n\x3c!-- Google tag (gtag.js) --\x3e\n\x3cscript async src="https:\x2f\x2fwww.googletagmanager.com\x2fgtag\x2fjs?id=G-BN2GRQ7TJL"\x3e\x3c\x2fscript\x3e\n\x3cscript\x3e\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag(\'js\', new Date());\n\n gtag(\'config\', \'G-BN2GRQ7TJL\');\n\x3c\x2fscript\x3e\n\x3c!-- End of Google Analytics 4 --\x3e\n\n', inline: false }); // --></script> <script type="text/javascript"><!-- cl.loadContent(); // --></script> </div> <div class="BodyColumn"></div> </div> </div> </div> <div id="FooterInfo"> <div class="c1025"><div id="endnavigation"><table width="100%" style="margin-top: 6px; " cellpadding="4" cellspacing="0"> <tr> <td width="49.5%" style=" white-space: nowrap ; padding: 1px">&nbsp;</td> <td style=" white-space: nowrap ;"><img src="https://files.phpclasses.org/graphics/phpclasses/user.png" width="24" height="24" loading="lazy" alt="About us" style="border: 0; vertical-align: middle"> <a href="/about">About us</a></td> <td style=" white-space: nowrap ; padding: 1px">&nbsp;</td> <td style=" white-space: nowrap ;"><img src="https://files.phpclasses.org/graphics/phpclasses/buy.png" width="24" height="24" loading="lazy" alt="Advertise on this site" style="border: 0; vertical-align: middle"> <a href="/sponsor.html" target="_blank">Advertise on this site</a></td> <td style=" white-space: nowrap ; padding: 1px">&nbsp;</td> <td style=" white-space: nowrap ;"><img src="https://files.phpclasses.org/graphics/phpclasses/map.png" width="24" height="24" loading="lazy" alt="Site map" style="border: 0; vertical-align: middle"> <a href="/sitemap/">Site map</a></td> <td style=" white-space: nowrap ; padding: 1px">&nbsp;</td> <td style=" white-space: nowrap ;"><img src="https://files.phpclasses.org/graphics/phpclasses/new.png" width="24" height="24" loading="lazy" alt="Newsletter" style="border: 0; vertical-align: middle"> <a href="/newsletter/">Newsletter</a></td> <td style=" white-space: nowrap ; padding: 1px">&nbsp;</td> <td style=" white-space: nowrap ;"><img src="https://files.phpclasses.org/graphics/phpclasses/statistics.png" width="24" height="24" loading="lazy" alt="Statistics" style="border: 0; vertical-align: middle"> <a href="/browse/statistics/statistics.html">Statistics</a></td> <td style=" white-space: nowrap ; padding: 1px">&nbsp;</td> <td style=" white-space: nowrap ;"><img src="https://files.phpclasses.org/graphics/phpclasses/tip.png" width="24" height="24" loading="lazy" alt="Site tips" style="border: 0; vertical-align: middle"> <a href="/tips.html">Site tips</a></td> <td style=" white-space: nowrap ; padding: 1px">&nbsp;</td> <td style=" white-space: nowrap ;"><img src="https://files.phpclasses.org/graphics/phpclasses/privacy.png" width="24" height="24" loading="lazy" alt="Privacy policy" style="border: 0; vertical-align: middle"> <a href="/faq/#privacy-policy">Privacy policy</a></td> <td style=" white-space: nowrap ; padding: 1px">&nbsp;</td> <td style=" white-space: nowrap ;"><img src="https://files.phpclasses.org/graphics/phpclasses/mail.png" width="24" height="24" loading="lazy" alt="Contact" style="border: 0; vertical-align: middle"> <a href="/faq/#contact">Contact</a></td> <td width="49.5%" style=" white-space: nowrap ; padding: 1px">&nbsp;</td> </tr> </table> </div></div> <div id="invertedCompanyLogo"><a href="https://www.icontem.com/" target="_blank" rel="noreferrer nofollow noopener noreferer"><img src="https://files.phpclasses.org/graphics/inverted-icontem.png" width="180" height="60" loading="lazy" alt="Icontem" style="border: 0"></a></div> <div id="Copyright">Copyright (c) <a href="https://www.icontem.com/" rel="noreferrer nofollow noopener noreferer" target="_blank">Icontem</a> 1999-2024</div> <div id="Contact"><address>For more information send a message to <code><a target="_blank" href="/faq/#contact">info at phpclasses dot org</a></code>.</address> <div class="contactBar"><div style="background-color: #25d366; border-radius: 8px; padding: 7px 3px 4px 6px; margin: 4px; border-width: 1px; border-color: #000000; border-style: solid; width: 37px"><a target="_blank" href="https://api.whatsapp.com/send?phone=5514998068719&text=Hello%2C+I+visited+your+site++and+I+need+your+help." title="Contact us using WhatsApp"><?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) based on the original provided with permission by WhatsApp (https://www.facebook.com/brand/resources/whatsapp/whatsapp-brand) --> <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.1" id="svg2" xml:space="preserve" width="32.950111" height="32.641735" viewBox="0 0 32.950112 32.641736" sodipodi:docname="WhatsApp_Logo_2.svg" inkscape:version="0.92.2 5c3e80d, 2017-08-06"><metadata id="metadata8"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs id="defs6"><clipPath clipPathUnits="userSpaceOnUse" id="clipPath18"><path d="M 0,1066.861 H 1280.244 V 0 H 0 Z" id="path16" inkscape:connector-curvature="0" /></clipPath><clipPath clipPathUnits="userSpaceOnUse" id="clipPath30"><path d="M 0,1066.861 H 1280.244 V 0 H 0 Z" id="path28" inkscape:connector-curvature="0" /></clipPath></defs><sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1920" inkscape:window-height="993" id="namedview4" showgrid="false" inkscape:zoom="1" inkscape:cx="-265.30262" inkscape:cy="-256.21845" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="g10" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" /><g id="g10" inkscape:groupmode="layer" inkscape:label="WhatsApp_Logo_2" transform="matrix(1.3333333,0,0,-1.3333333,-830.48251,714.48498)"><g id="g12" transform="matrix(0.01930303,0,0,0.02294704,622.8619,511.38245)"><g id="g14" clip-path="url(#clipPath18)"><g id="g20" transform="translate(1260.3838)"><path d="m 0,0 h -1240.524 c -10.968,0 -19.86,8.892 -19.86,19.86 v 1027.142 c 0,10.968 8.892,19.859 19.86,19.859 H 0 c 10.968,0 19.86,-8.891 19.86,-19.859 V 19.86 C 19.86,8.892 10.968,0 0,0" style="fill:#25d366;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path22" inkscape:connector-curvature="0" /></g></g></g><g id="g24" transform="matrix(0.05,0,0,0.05,603.45728,497.44195)"><g id="g26" clip-path="url(#clipPath30)"><g id="g32" transform="translate(736.1802,489.2339)"><path d="m 0,0 c -5.211,2.608 -30.831,15.213 -35.608,16.954 -4.776,1.739 -8.25,2.607 -11.724,-2.608 -3.474,-5.216 -13.461,-16.955 -16.501,-20.433 -3.039,-3.477 -6.079,-3.914 -11.29,-1.304 -5.211,2.608 -22.002,8.11 -41.906,25.865 -15.491,13.818 -25.95,30.882 -28.989,36.099 -3.04,5.217 -0.325,8.037 2.284,10.635 2.345,2.335 5.212,6.087 7.817,9.13 2.606,3.042 3.474,5.217 5.211,8.693 1.737,3.479 0.869,6.521 -0.435,9.129 -1.302,2.608 -11.724,28.259 -16.066,38.694 -4.23,10.16 -8.526,8.784 -11.725,8.945 -3.036,0.151 -6.514,0.183 -9.987,0.183 -3.474,0 -9.12,-1.304 -13.897,-6.52 -4.776,-5.217 -18.238,-17.825 -18.238,-43.473 0,-25.651 18.672,-50.429 21.278,-53.907 2.606,-3.479 36.745,-56.113 89.021,-78.685 12.432,-5.37 22.139,-8.576 29.707,-10.977 12.483,-3.967 23.843,-3.407 32.822,-2.065 10.012,1.495 30.831,12.605 35.174,24.777 C 11.29,-18.693 11.29,-8.26 9.987,-6.087 8.685,-3.913 5.211,-2.609 0,0 m -95.082,-129.825 h -0.07 c -31.105,0.012 -61.613,8.369 -88.227,24.162 l -6.33,3.757 -65.606,-17.21 17.511,63.966 -4.121,6.559 c -17.352,27.598 -26.517,59.496 -26.503,92.25 0.038,95.573 77.8,173.329 173.415,173.329 46.3,-0.016 89.822,-18.07 122.551,-50.836 C 60.265,133.388 78.278,89.836 78.26,43.519 78.221,-52.062 0.46,-129.825 -95.082,-129.825 M 52.446,191.049 c -39.375,39.421 -91.739,61.14 -147.53,61.163 -114.953,0 -208.511,-93.552 -208.557,-208.54 -0.015,-36.758 9.588,-72.635 27.839,-104.264 l -29.587,-108.071 110.558,29.001 c 30.462,-16.615 64.759,-25.373 99.664,-25.384 h 0.085 10e-4 c 114.941,0 208.507,93.561 208.554,208.551 0.021,55.726 -21.652,108.124 -61.027,147.544" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" id="path34" inkscape:connector-curvature="0" /></g></g></g></g></svg></a></div><div style="background-color: #ffffff; border-radius: 8px; padding: 4px 4px 4px 5px; margin: 4px; border-width: 1px; border-color: #000000; border-style: solid; width: 37px"><a target="_blank" href="https://m.me/114418241923267" title="Contact us using Messenger"><?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) based on the original provided with permission by WhatsApp (https://www.facebook.com/brand/resources/messenger/logo) --> <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="35.84" height="35.84" viewBox="0 0 35.84 35.84" version="1.1" id="svg22" sodipodi:docname="logo.svg" inkscape:version="0.92.2 5c3e80d, 2017-08-06"> <metadata id="metadata26"> <rdf:RDF> <cc:Work rdf:about=""> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> </cc:Work> </rdf:RDF> </metadata> <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1920" inkscape:window-height="993" id="namedview24" showgrid="false" inkscape:zoom="0.74362183" inkscape:cx="-718.6531" inkscape:cy="-73.162608" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="svg22" /> <title id="title2">Contact us using Messenger</title> <defs id="defs13"> <radialGradient cx="265.97925" cy="917.72095" fx="265.97925" fy="917.72095" r="871.6759" id="radialGradient-1" gradientUnits="userSpaceOnUse"> <stop stop-color="#0099FF" offset="0%" id="stop4" /> <stop stop-color="#A033FF" offset="60.9753877%" id="stop6" /> <stop stop-color="#FF5280" offset="93.482299%" id="stop8" /> <stop stop-color="#FF7061" offset="100%" id="stop10" /> </radialGradient> </defs> <g id="g20" style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:1" transform="scale(0.035)"> <rect id="bounding-box" x="0" y="0" width="1024" height="1024" style="fill:#ffffff;fill-opacity:0" /> <g id="logo"> <path d="m 512,122 c -225.332,0 -400,165.056 -400,388 0,116.6144 47.792,217.3824 125.6224,286.984 6.5336,5.848 10.4776,14.04 10.7456,22.808 l 2.1784,71.152 c 0.696,22.696 24.1392,37.464 44.9072,28.296 l 79.3944,-35.048 c 6.7304,-2.968 14.272,-3.52 21.364,-1.568 C 432.696,892.656 471.5264,898 512,898 737.332,898 912,732.944 912,510 912,287.056 737.332,122 512,122 Z" id="Path" inkscape:connector-curvature="0" style="fill:url(#radialGradient-1)" /> <path d="m 271.8016,623.4688 117.5,-186.416 c 18.6904,-29.656 58.7144,-37.04 86.7584,-16.008 l 93.4536,70.0904 c 8.5744,6.432 20.372,6.3976 28.9104,-0.0824 l 126.2136,-95.788 c 16.8464,-12.784 38.836,7.376 27.5624,25.2664 L 634.7,606.9488 c -18.692,29.6544 -58.716,37.04 -86.7584,16.0064 l -93.456,-70.092 c -8.5736,-6.4304 -20.372,-6.396 -28.9096,0.084 l -126.2144,95.788 c -16.8456,12.7832 -38.836,-7.3768 -27.56,-25.2664 z" id="path17" inkscape:connector-curvature="0" style="fill:#ffffff" /> </g> </g> </svg> </a></div><div style="background-color: #000000; border-radius: 8px; padding: 5px 4px 5px 5px; margin: 4px; border-width: 1px; border-color: #000000; border-style: solid; width: 37px"><a target="_blank" href="mailto:info@phpclasses.org" title="Contact us using email"><img src="https://files.phpclasses.org/graphics/phpclasses/mail-medium.png" width="36" height="36" loading="lazy" alt="Contact us using email" style="border: 0; vertical-align: middle"></a></div></div></div> </div> </div> </div> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10