Concaténer deux fichiers PDF en PHP

Voici un code PHP pour faire la concaténation de deux documents PDF (fusion de 2 fichiers PDF pour en faire 1 seul) à l’aide de la librairie Ghostscript : function ConcatPDF($p1, $p2) { $temp = « /tmp/merged_ ».md5(time().$p1.$p2). ».pdf »; $cmd = « gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$temp $p1 $p2 »; $result = shell_exec($cmd); $finalfile = @realpath($temp); if(!$finalfile || !@filesize($finalfile))…



« Cleartext authentication is forbidden » avec Plesk

Vous rencontrez l’erreur suivante sur votre serveur Plesk équipé du composant Courier pour POP et IMAP ? : Cleartext authentication is forbidden La solution : /usr/local/psa/admin/bin/pci_compliance_resolver –disable courier Attention, une connexion cryptée, c’est quand même mieux …



Compter le nombre de pages d’un PDF en PHP

Voici une fonction PHP pour détecter le nombre de pages d’un document PDF. Attention vous devez avoir les droits d’exécution au niveau du serveur web (PHP ne doit pas être bridé). Vous devez également avoir installé au préalable le package pdfinfo. function getPDFPagesNbr($file) { $res = shell_exec(« pdfinfo « .escapeshellarg($file). » | grep Pages »); if(!substr_count($res, ‘Pages:’)) return false;…



Les listes noires des émetteurs de spams (RBL)

Les serveurs qui émettent du spam, souvent des serveurs piratés ou des ordinateurs de particuliers ou d’entreprise qui ont été infectés par un cheval de troie, sont un fléau puisque cela représente plus de 80% du trafic mail mondial. Le volume de données échangées est énorme, et les hébergeurs mails qui reçoivent ces messages indésirables…



Filtrage des mails sortants

Les DSI qui supervisent la messagerie email de leur entreprise le savent, l’envoi de mail peut poser autant de problèmes que la réception. La réputation de ses serveurs de messagerie doit être entretenue avec soin, pour ne pas risquer de perturber l’ensemble des communications. En clair, si une boite mail se fait pirater, ou si…



La sécurité de la navigation sur internet

C’est quoi une connexion sécurisée ? L’internaute lambda se demande souvent si la navigation sur un site donné « est sécurisée ». Une réponse simple pourrait être de lui répondre que si il voit un joli petit cadenas dans son navigateur, oui bien sûr, il ne risque rien. Si par contre il ne voit pas de cadenas,…



Comprendre la différence entre POP et IMAP

Je dois souvent expliquer à mes clients la différence entre POP et IMAP, les deux protocoles d’accès à une boite mail. Donc, pourquoi ne pas écrire un article là dessus afin de répondre à la question de la manière la plus claire et la plus parlante possible pour l’internaute lambda ? Commençons par rappeler qu’une…



ClusterSSH : administrer simultanément plusieurs serveurs Linux

ClusterSSH est un logiciel permettant de contrôler plusieurs serveurs Linux distants en même temps, en ne tapant qu’une seule fois les commandes SSH, qui sont envoyées simultanément à toutes les machines. Pour faire des mises à jour, installer des paquets, configurer un parefeu, faire un scan antivirus, configurer une tâche cron … il suffit de…



PHP : Détecter l’IP et le fournisseur d’accès

Voici un code PHP pour détecter d’une part l’adresse IP de l’internaute et d’autre part le nom de son Fournisseur d’Accès à Internet (FAI) : function getCurrentIP() { $ip = (getenv(HTTP_X_FORWARDED_FOR)) ? getenv(HTTP_X_FORWARDED_FOR) : getenv(REMOTE_ADDR); return $ip; } function getCurrentFAI() { $ip = getCurrentIP(); $host = @gethostbyaddr($ip); $fai = false; if(substr_count($host, ‘proxad’)) $fai = ‘free’;…



PHP : Mise en forme d’un poids de fichier

Pour mettre en forme le poids d’un fichier (ex: « 350 Ko ») voici une fonction bien pratique en PHP : function formatSize($nbr) { if($nbr===false || $nbr===null) return ‘0 octet’; if($nbr>=1024*1024*1024*1024) return round($nbr/(1024*1024*1024*1024), 1). » « .(‘To’); if($nbr>=1024*1024*1024) return round($nbr/(1024*1024*1024), 1). » « .(‘Go’); if($nbr>=1024*1024) return round($nbr/(1024*1024), 1). » « .(‘Mo’); if($nbr>=1024) return round($nbr/(1024), 1). » « .(‘Ko’); if($nbr>=0) return intval($nbr). » « .(‘octets’); }