Maison > Télécharger >  Téléchargement de la bibliothèque

  • <?php function xml2array($contents, $get_attributes = 1, $priority = 'tag') {   if (!$contents) return array();   if (!function_exists('xml_parser_create')) {     // print "'xml_parser_create()' function not found!";     return array();   }   // Get the XML parser of PHP - PHP must have this module for the parser to work   $parser = xml_parser_create('');   xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, "UTF-8"); // http://minutillo.com/steve/weblog/2004/6/17/php-xml-and-character-encodings-a-tale-of-sadness-rage-and-data-loss   xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);   xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);   xml_parse_into_struct($parser, trim($contents), $xml_values);   xml_parser_free($parser);   if (!$xml_values) return; //Hmm...   // Initializations   $xml_array = array();   $parents = array();   $opened_tags = array();   $arr = array();   $current = &$xml_array; //Refference   // Go through the tags.   $repeated_tag_index = array(); //Multiple tags with same name will be turned into an array   foreach($xml_values as $data) {     unset($attributes, $value); //Remove existing values, or there will be trouble     // This command will extract these variables into the foreach scope     // tag(string), type(string), level(int), attributes(array).     extract($data); //We could use the array by itself, but this cooler.     $result = array();     $attributes_data = array();     if (isset($value)) {       if ($priority == 'tag') $result = $value;       else $result['value'] = $value; //Put the value in a assoc array if we are in the 'Attribute' mode     }Il s'agit d'une bibliothèque de classes qui peut convertir entre les formats XML et de données. Les amis qui en ont besoin peuvent la télécharger et l'utiliser.

    Autres bibliothèques17042017-12-26
  • <? class FileUtil {   /**    * 建立文件夹    *    * @param string $aimUrl    * @return viod    */   function createDir($aimUrl) {     $aimUrl = str_replace('', '/', $aimUrl);     $aimDir = '';     $arr = explode('/', $aimUrl);     foreach ($arr as $str) {       $aimDir .= $str . '/';       if (!file_exists($aimDir)) {         mkdir($aimDir);       }     }   } * Manipuler la classe de fichier * Exemple : * FileUtil::createDir('a/1/2/3'); copiez-y le contenu du dossier b * FileUtil: ; copyFile('b/1/2/3.exe','b/b/3.exe'); Testez la copie des fichiers pour créer un dossier b/b et copiez le fichier 3.exe dans le dossier b/1/2 dedans * FileUtil::moveDir('a/','b/c'); Testez le déplacement du dossier pour créer un dossier de fichiers b/c, déplacez le contenu du dossier a et supprimez le dossier a * FileUtil::moveFile('b/1/2/3.exe','b/d/3.exe'); Test Move files Créez un dossier b/d et déplacez-y 3.exe dans b/1/2 * FileUtil::unlinkFile('b/d/3.exe'); Test de suppression des fichiers Supprimer le fichier b/d /3.exe * FileUtil::unlinkDir('d');

    Autres bibliothèques16402017-12-26
  • <?php class Params {   public $get = array();   public $post = array();   function __construct()   {     if (!empty($_GET)) {       foreach ($_GET as $key => $val) {         if (is_numeric($val)) {           $this->get[$key] = $this->getInt($val);         } else {           $this->get[$key] = $this->getStr($val);         }       }     }     if (!empty($_POST)) {       foreach ($_POST as $key => $val) {         if (is_numeric($val)) {           $this->post[$key] = $this->getInt($val);         } else {           $this->post[$key] = $this->getStr($val);         }       }     }   }Il s'agit d'une bibliothèque de sécurité PHP qui utilise des instructions préparées et des requêtes paramétrées. Les instructions SQL avec tous les paramètres seront envoyées au serveur de base de données et analysées ! Il est impossible pour un attaquant d’injecter du SQL de manière malveillante !

    Autres bibliothèques21002017-12-26
  • <?php class DBManage {   var $db; // 数据库连接   var $database; // 所用数据库   var $sqldir; // 数据库备份文件夹   var $record;   // 换行符   private $ds = "n";   // 存储SQL的变量   public $sqlContent = "";   // 每条sql语句的结尾符   public $sqlEnd = ";";   /**    * 初始化    *    * @param string $host    * @param string $username    * @param string $password    * @param string $thisatabase    * @param string $charset    */Description : Le fichier de volume se termine par _v1.sql Fonction : Implémenter la sauvegarde de volume de la base de données MySQL, sélectionner la table à sauvegarder, implémenter un fichier SQL unique et l'importation de volume SQL Utilisation : 1. ----------------------------------------------- --- ----------//Ils sont l'hôte, le nom d'utilisateur, le mot de passe, le nom de la base de données et l'encodage de la base de données$db = new DBManage ( 'localhost', 'root', 'root' , 'test', 'utf8' );// Paramètres : quelle table sauvegarder (facultatif), répertoire de sauvegarde (facultatif, la valeur par défaut est la sauvegarde), taille du volume (facultatif, la valeur par défaut est 2000, soit 2 M) $db->backup (); * ------2. Récupération de base de données (importation) ----------------------- -- --------------------------------------//Ils sont l'hôte, le nom d'utilisateur et mot de passe respectivement. Nom de la base de données, encodage de la base de données$db = new DBManage ('localhost', 'root', 'root', 'test', 'utf8' );//Paramètre : fichier sql

    Autres bibliothèques21172017-12-26
  • <?php class db {         var $db;         var $position=0;         function sub_sql($str)         {                 global $prefix;                 return str_replace("detest_",$prefix,$str);         }         function Sql($str)         {                 $str=$this->sub_sql($str);                 $result = mysql_query($str);                 $i=0;                 while($row = mysql_fetch_array($result))                 {                         $str_array[$i]=$row;                         $i++;                 }                 if(empty($str_array))                 {                         $str_array=array();                 }                 $this->db=$str_array;         }Il s'agit d'une classe d'opération de base de données MYSQL. Les amis peuvent la télécharger et l'utiliser.

    Autres bibliothèques17302017-12-26
  • <?php use PHPImageWorkshop\ImageWorkshop as ImageWorkshop; require_once(__DIR__.'/autoload.php'); class ImageWorkshopTest extends \PHPUnit_Framework_TestCase { ===================================================================================          const IMAGE_SAMPLE_PATH = '/Resources/images/sample1.jpg';     const FONT_SAMPLE_PATH  = '/Resources/fonts/arial.ttf';     const WEB_PATH          = 'http://localhost:8000';     public function testInitFromPath()     {         // test 1                  $layer = ImageWorkshop::initFromPath(__DIR__.static::IMAGE_SAMPLE_PATH);                  $this->assertTrue(is_object($layer) === true, 'Expect $layer to be an object');         $this->assertTrue(get_class($layer) === 'PHPImageWorkshop\Core\ImageWorkshopLayer', 'Expect $layer to be an ImageWorkshopLayer object');         // test 2         $layer = ImageWorkshop::initFromPath('file://'.__DIR__.static::IMAGE_SAMPLE_PATH);         $this->assertTrue(is_object($layer) === true, 'Expect $layer to be an object');         $this->assertTrue(get_class($layer) === 'PHPImageWorkshop\Core\ImageWorkshopLayer', 'Expect $layer to be an ImageWorkshopLayer object');         // test 3         if (version_compare(PHP_VERSION, '5.4', '>=')) {             $layer = ImageWorkshop::initFromPath(static::WEB_PATH.'/sample1.jpg');             $this->assertTrue(is_object($layer) === true, 'Expect $layer to be an object');             $this->assertTrue(get_class($layer) === 'PHPImageWorkshop\Core\ImageWorkshopLayer', 'Expect $layer to be an ImageWorkshopLayer object');         }Les avantages de cette bibliothèque. La vitesse des vignettes est très rapide et la qualité est très élevéePrend en charge le recadrage intelligentTrès bonne prise en charge des images GIF5 modes de vignettesFonction de comparaison d'imagesFonction de filtrage d'image avancéeMélange d'images Autres Les API prises en charge par la bibliothèque de traitement d'image sont essentiellement prises en charge

    Autres bibliothèques22992017-12-25
  • <?php namespace Stampie; /**  * @author Christophe Coevoet <stof@notk.org>  */ interface IdentityInterface {     /**      * @return string      */     public function getEmail();     /**      * @return string|null      */     public function getName(); }Cette bibliothèque de classes a la même fonction que phpmailer, mais ses performances sont meilleures que phpmailer, notamment dans la capacité de traiter les pièces jointes, et la probabilité d'envoyer des e-mails avec succès est également élevée.

    Autres bibliothèques18212017-12-25
  • <?php namespace Stampie; class Identity implements IdentityInterface {     private $email;     private $name;     public function __construct($email = null, $name = null)     {         $this->email = $email;         $this->name = $name;     }     public function setEmail($email)     {         $this->email = $email;         return $this;     }     public function getEmail()     {         return $this->email;     }Le téléchargement de fichiers est une fonction courante dans le développement de projets, mais le processus de téléchargement de fichiers est relativement fastidieux. Tant qu'il y a des fichiers téléchargés, ces codes complexes doivent être écrits. Afin de réduire la difficulté d'écrire des fonctions dans chaque développement et de gagner du temps de développement, nous encapsulons généralement ces morceaux de code utilisés à plusieurs reprises dans une classe. Cette bibliothèque de classes est une bibliothèque tellement pratique.

    Autres bibliothèques22862017-12-25
  • <?php require_once __DIR__.'/../vendor/autoload.php'; use Gregwar\Captcha\CaptchaBuilder; $tests = 10000; $passed = 0; shell_exec('rm passed*.jpg'); for ($i=0; $i<$tests; $i++) {     echo "Captcha $i/$tests... ";     $captcha = new CaptchaBuilder;     $captcha         ->setDistortion(false)         ->build()     ;     if ($captcha->isOCRReadable()) {         $passed++;         $captcha->save("passed$passed.jpg");         echo "passed at ocr... ";     } else {         echo "failed... ";     }     echo "pass rate: ".round(100*$passed/($i+1),2)."%\n"; } echo "\n"; echo "Over, $passed/$tests readed with OCR\n";Lorsque nous nous connectons d'abord au module avec les autorisations de l'utilisateur, nous utiliserons souvent des codes de vérification. Aujourd'hui, je voudrais recommander une bibliothèque de codes de vérification pour votre utilisation future. Les étapes pour générer un code de vérification sont grossièrement : 1) Générer une chaîne aléatoire ; 2) Créer une image (imagecreatetruecolor), puis afficher la chaîne dans l'image (imagestring ou imagettftext) ; Interférer avec le bruit sur l'image, comme l'ajout de lignes ou de pixels (imageline et imagesetpixel). 4) Image de sortie (imagepng) 5) Détruire les ressources d'image

    Autres bibliothèques24362017-12-25
  • <?php        class QRbitstream {              public $data = array();                  //----------------------------------------------------------------------         public function size()         {             return count($this->data);         }                  //----------------------------------------------------------------------         public function allocate($setLength)         {             $this->data = array_fill(0, $setLength, 0);             return 0;         }              //----------------------------------------------------------------------         public static function newFromNum($bits, $num)         {             $bstream = new QRbitstream();             $bstream->allocate($bits);                          $mask = 1 << ($bits - 1);             for($i=0; $i<$bits; $i++) {                 if($num & $mask) {                     $bstream->data[$i] = 1;                 } else {                     $bstream->data[$i] = 0;                 }                 $mask = $mask >> 1;             }             return $bstream;         }Cette bibliothèque de génération de code QR est très simple à utiliser. Bien entendu, votre environnement PHP doit activer le support de GD2. Cette bibliothèque fournit une méthode clé png(), dans laquelle le paramètre $text indique la génération d'un texte d'information à deux chiffres ; le paramètre $outfile indique s'il faut générer un fichier image de code QR, la valeur par défaut est non ; le paramètre $level indique ; le taux de tolérance aux pannes, c'est-à-dire qu'il y a Les zones couvertes peuvent également être identifiées, qui sont L (QR_ECLEVEL_L, 7%), M (QR_ECLEVEL_M, 15%), Q (QR_ECLEVEL_Q, 25%), H (QR_ECLEVEL_H, 30% ); le paramètre $size indique la taille de l'image générée, la valeur par défaut est 3 ; le paramètre $margin indique la valeur d'espacement de la zone vide de la bordure autour du code QR ; le paramètre $saveandprint indique s'il faut enregistrer le code ; Code QR et affichez-le.

    Autres bibliothèques21702017-12-25
  • <?php  *  * @author    Colin Verot <colin@verot.net>  * @license   http://opensource.org/licenses/gpl-license.php GNU Public License  * @copyright Colin Verot  */ class upload {     /**      * Class version      *      * @access public      * @var string      */     var $version;     /**      * Uploaded file name      *      * @access public      * @var string      */     var $file_src_name;     /**      * Uploaded file name body (i.e. without extension)      *      * @access public      * @var string      */Le téléchargement de fichiers est une fonction courante dans le développement de projets, mais le processus de téléchargement de fichiers est relativement fastidieux. Tant qu'il y a des fichiers téléchargés, ces codes complexes doivent être écrits. Afin de réduire la difficulté d'écrire des fonctions dans chaque développement et de gagner du temps de développement, nous encapsulons généralement ces morceaux de code utilisés à plusieurs reprises dans une classe. Cette bibliothèque de classes est une bibliothèque tellement pratique.

    Autres bibliothèques19272017-12-23
  • <?php namespace JasonGrimes; class Paginator {     const NUM_PLACEHOLDER = '(:num)';     protected $totalItems;     protected $numPages;     protected $itemsPerPage;     protected $currentPage;     protected $urlPattern;     protected $maxPagesToShow = 10;     protected $previousText = 'Previous';     protected $nextText = 'Next';     /**      * @param int $totalItems The total number of items.      * @param int $itemsPerPage The number of items per page.      * @param int $currentPage The current page number.      * @param string $urlPattern A URL for each page, with (:num) as a placeholder for the page number. Ex. '/foo/page/(:num)'      */     public function __construct($totalItems, $itemsPerPage, $currentPage, $urlPattern = '')     {         $this->totalItems = $totalItems;         $this->itemsPerPage = $itemsPerPage;         $this->currentPage = $currentPage;         $this->urlPattern = $urlPattern;         $this->updateNumPages();     }Fonction 1 : générer une liste de paramètres de navigation par pagination et de fonction de pagination en fonction du nombre total de pages, de la page actuelle, du regroupement de pages et de l'URL (combien de pages, page actuelle, combien par page, adresse du lien). Fonction 2 : En fonction du nombre d'enregistrements, les colonnes de page sont comptées, $page, la page actuelle ; $row_num, le nombre total d'enregistrements ; $pagesize : le nombre d'enregistrements par page d'enregistrement $url.

    Bibliothèque de pagination96592017-12-23