Catégorie : PHP

[PHP] Classe Upload : envoyez des fichiers sur votre serveur

Agacée de ne jamais trouver chaussure à mon pied, je me suis lancée (tardivement), dans le développement d’une classe PHP permettant d’uploader facilement des fichiers sur votre serveur.

En renseignant simplement le dossier de destination et le $_FILES correspondant, le fichier sera envoyé.

Vous avez quand même la possibilité d’effectuer des actions :

  • Vérifications de l’extension par rapport à un jeu d’extensions (précisées par vous-même)
  • Vérification de la taille du fichier par rapport à une taille max (fixée également par vous-même)
  • Renommage du fichier

Je vous laisse consulter la documentation pour plus d’informations :

Documentation de la classe Upload (.pdf)

 

Téléchargement de la classe Upload (avec exemple)

Télécharger la classe Upload (.zip)

 

N’hésitez à partager vos impressions, remarques ou problèmes en laissant un commentaire ci-dessous.

[PHP] Modifier une chaîne de caractères sur tout un serveur de BDD

Nous sommes en 2017 et ce script est dépassé (bien que toujours fonctionnel). Utilisez maintenant mysqli ou PDO, ou bien l’excellent outil clé en main Search Replace DB de Interconnecit.

Il y a quelques temps, ma société à complètement revu l’adressage IP du réseau.

J’ai donc rencontré des soucis avec tous mes sites WordPress et Prestashop, qui stockent l’URL dans la base de données.

Voici donc un petit script PHP/MySQL qui va modifier dans chaque table de chaque base une chaîne de caractères.

Il s’agit d’un script sans messages d’erreurs et non commenté, mais cela ne pose pas vraiment de soucis car il est directement exécutable : changez simplement les données en constantes (« define »).

Je vous suggère vivement de conserver la connexion, certes obsolète, avec mysql_connect au cas où vous avez des base de données en mysql simple (avec mysqli_connect, celles-ci ne seront pas prises en compte).

 

define('_DB_HOST_', 'localhost');
define('_DB_USER_', 'root');
define('_DB_PASS_', '');
define('_OLD_IP_', '192.168.200.155');
define('_NEW_IP_', '172.16.200.155');

$connect = mysql_connect(_DB_HOST_, _DB_USER_, _DB_PASS_);

$databases =  mysql_query("SHOW databases");
while($database = mysql_fetch_object($databases)) {
	mysql_select_db($database->Database, $connect);
	$tables = mysql_query("SHOW tables");
	if(mysql_num_rows($tables) > 0) {
		while($table = mysql_fetch_object($tables)) {
			$fieldName = 'Tables_in_'.$database->Database;
			$tableName = $table->$fieldName;
			$columns = mysql_query("SHOW columns FROM ".$tableName);
			if(mysql_num_rows($columns) > 0) {
				while($column = mysql_fetch_object($columns)) {
				    $fields = mysql_query("UPDATE ".$tableName." SET ".$column->Field." = REPLACE(".$column->Field.", '"._OLD_IP_."', '"._NEW_IP_."')");
					if(mysql_affected_rows() > 0) {
						echo '<p>Modification dans '.$database->Database.' » '.$tableName.' » '. $column->Field.'</p>';
					}
				}
			}
		}
	}
}

 

Vous pouvez bien sûr adapter le script à une seule base de données par exemple, en créant l’objet $database avec vos données et en supprimant le « while » associé.

 

Helper « Lorem » : Simplifiez vos tests d’intégration

Un simple article pour mettre à votre disposition un petit helper créé par mes soins. Il est tout simple, mais il fait gagner un temps fou lors de l’intégration / développement de votre site.
Je l’ai appelé « Lorem » (j’avoue, c’est vraiment pas original), car il s’agit d’un générateur de texte.

 

Revue des fonctions :

  • text(nombreDeCaractères) : génère du text brut sans mise en forme
  • html() : renvoie tout les types de balises afin de juger de l’apparence de vos contenus
  • createlist(nombreDeLi) : génère une liste de type <ul>
  • createForm() : renvoie un formulaire contenant les différents champs possibles

 

Télécharger  le Helper Lorem