Tronquer un tableau array en PHP
Rédigé par adm - 28 novembre 2017
J'ai un tableau contenant des valeurs et j'aimerai éliminer les deux valeurs entrême,
càd j'ai le tableau tab={7,8,9,A,B,C,D,} et j'aimerai enlever 7,8 et C,D.
je peux réaliser grâce à la fonction array_splice
exemple :
<?php $mes_data = array(7,8,9,A,B,C,D); print_r(array_splice($mes_data, - 2,2)); ?>
Classé dans : php, - Mots clés : aucun - aucun commentaire
Script anti-aspirateur de site
Rédigé par adm - 07 juin 2016
Interdire les aspirateurs et sites indésirables 2 |
Outils pour webmaster. Trucs et astuces en code HTML, JavaScript, PHP : améliorer son site internet
Descriptif : nous allons voir ici un script permettant d'interdire les aspirateurs et sites indésirables pour ceux qui souhaiteraient travailler en PHP.
Les remarques générales de la première page restent valables et doivent être étudiées avec attention.
Mise en oeuvre : si vous pouvez utiliser la fonction RewriteRule sur votre serveur, suivez la procédure de la première page pour piéger les aspirateurs. Si cette fonction n'est pas disponible, renommez piege.php, ci-dessous, en nolink.php afin de capturer l'aspirateur directement lorsqu'il suivra le lien non-cliquable. Vous aurez pris soin de changer la ligne :
<a href="nolink.htm" style="color: black; text-decoration: none; background: #FFEBCD" onclick="return false;">?</a>
dans toutes vos pages HTML contenant ce lien-piège en :
<a href="nolink.php" style="color: black; text-decoration: none; background: #FFEBCD" onclick="return false;">?</a>
Nota : l'inconvénient de ce système, si vous ne pouvez avoir la fonction RewriteRule,c'est que vous ne piégez que très peu d'aspirateurs puisque le principe de la capture dans la page précédente est basé sur l'absence de page-lien-suivit et une redirection par .htaccess plutôt que par le nom de l'aspirateur.
Le fonctionnement : comme dans la première page, l'aspirateur de site suivra le lien non-cliquable qui l'enverra sur le fichier piege.php.
- Celui-ci capturera tous les renseignements concernant l'indésirable et notamment son adresse IP.
- Il vous préviendra par mail de cette visite, à condition que votre hébergeur vous autorise la fonction mail(), et affichera une page d'avertissement au visiteur.
- Il ouvrira ensuite le fichier .htaccess et y inscrira l'IP à bannir en haut de fichier.
- Lors du prochain passage sur le fichier .htaccess, le visiteur se retrouvera bloqué.
LE FICHIER piege.php
Sélectionnez le code ci-dessous (copie automatique dans le presse-papiers) et collez-le dans NotePad.
Vérifiez que vous n'avez pas des retours à la ligne (Ctrl-M) mais bien des retours chariots (visibles dans WORD) : ¶ et qu'il n'y ait pas d'espaces en bout de lignes.
Sauvegardez-le sous le nom piege.php et transférez-le sur votre site en ASCII par votre client FTP à la racine de votre site. Donnez-lui les droits par un CHMOD 644.
Dans .htaccess écrivez en tout début de fichier :
<Files ~ "^.*$"> order allow,deny allow from all deny from env=ban </Files> |
Le fichier .htaccess a, en principe, un CHMOD de 644. Suivant la configuration de votre hébergeur, il se peut que piege.cgi ne puisse y écrire dedans. Mettez un CHMOD de 776 ou tout autre CHMOD qui garantira le plus possible la protection du fichier.
Pour empêcher la lecture de .htaccess introduisez en tout début de fichier :
SetEnvIfNoCase Request_URI \.ht(access|passwd)$ ban
Ce qui donnera, combiné au script précédent :
SetEnvIfNoCase Request_URI \.ht(access|passwd)$ ban <Files ~ "^.*$"> order allow,deny allow from all deny from env=ban </Files> |
Faites des essais en vous piégeant vous-même afin de déterminer si votre IP s'inscrit bien en début de fichier.
Remarque : les aspirateurs de sites ne sont pas forcément configurés d'origine pour suivre des liens PHP.
Cet article est en provenance d'un site qui m'avais apporté bcp au début à savoir :
-http://www.toulouse-renaissance.net/ et qui a disparu de notre toile aujourd'hui.
Classé dans : phpWeb, - Mots clés : aucun - aucun commentaire
Connaitre son chemin absolut en PHP. Méthode 2
Rédigé par adm - 04 mars 2014
Vous êtes ur un hébergement mutualisé et pour un script ou une ligne de code vous avez besoin de connaitre le chemin absolut de votre hébergement?
nous vous avons déjà donné une méthode, maintenant en voici une seconde
C'est simple,
Réaliser un petit fichier .php par exemple chemin.php
insérer ce code à l'intérieur
<?php echo "doc root : ".$_SERVER["DOCUMENT_ROOT"]; ?>
Et appeler ce fichier par l'url de votre naviguateur
Classé dans : php, - Mots clés : chemin absolut - aucun commentaire
OSCLASS - astuces
Rédigé par adm - 11 octobre 2013
Une des expériences actuelle est d'installer OSCLASS, script php de petites annonces.
Certains points ne fonctionne pas à prioris
1) envoi des mails.
Pour que l'envoi des mails se fassent il faut configurer votre serveur de messagerie dans le script
Voici l'exemple sur un mutu OVH.
Nom de l'hôte : ns0.ovh.net
Mail from :
Name from : votre nom
Numéro de port du serveur : 587
Nom d'utilisateur :
Mot de passe : mot_de_passe_compte_messagerie
(NB vous devez créer une boite mail via votre manager ovh)
Chiffrement : laisser vide !!!
2) upload d'images
l'upload ne fonctionne pas sur du mutu..... pour le faire fonctionner
allez dans le fichier
dans oc-includes/osclass/ItemActions.php
supprimer les lignes suivantes ou mettez les en commentaires.
if(function_exists('disk_free_space')) { $freedisk = @disk_free_space(osc_content_path() . 'uploads/'); }
Classé dans : php, - Mots clés : aucun - aucun commentaire
Effacer les tables d'une base MYSQL avec des clés étrangères
Rédigé par adm - 04 octobre 2013
Il n'est pas possible d'effacer des tables d'un base tant que des clés étrangères existent.
Après pas mal d'essai voici un script PHP qui
1) enlève les clés étrangères
2) efface les tables
<?php ******************* Par tonsite.info *********************************** $DBNAME = 'nom_de_la Base'; mysql_connect('Host_de_la_base', 'Nom_de_utilisateur', 'mot_de_passe'); //supprime les clés étrangere mysql_select_db($DBNAME); $result = mysql_query("SELECT DISTINCT table_name, constraint_name" . " FROM information_schema.key_column_usage" . " WHERE constraint_schema = '$DBNAME'" . " AND referenced_table_name IS NOT NULL"); while($row = mysql_fetch_assoc($result)) { mysql_query("ALTER TABLE `$row[table_name]`" . " DROP FOREIGN KEY `$row[constraint_name]`") or die(mysql_error()); } mysql_free_result($result); // effacer les tables $sql = "SHOW TABLES FROM $DBNAME"; $result = mysql_query($sql); if (!$result) { echo "Erreur DB, impossible de lister les tables\n"; echo 'Erreur MySQL : ' . mysql_error(); exit; } while ($row = mysql_fetch_row($result)) { $deleteIt=mysql_query("DROP TABLE `$row[0]`"); } mysql_free_result($result); mysql_close(); ?>
Classé dans : phpmysql, - Mots clés : aucun - aucun commentaire