Personnaliser son accueil localhost PHP


Aperçu

Apercu du snippet

Description

Code

Voici un snippet pour personnaliser votre page d'accueil localhost (http://localhost), lorsque vous accédez à Wamp/EasyPHP ou autres. Cela permet d'afficher une vue plus agréable. On peut également la modifier pour ajouter des modules personnalisés en fonction de ces besoins (ici : sélecteur et convertisseurs de couleurs, partage de codes, générateur de bannières et recherche Google).


Le code est commenté afin de faciliter sa compréhension.
La feuille de style utilisée est BootStrap 4.0 beta (getbootstrap.com) et on utilise Font Awesome (fontawesome.com) pour les icônes de dossier. Vous pouvez également ajouter des filtres pour utiliser des icones d'images, de textes, etc en fonction de l'extension du fichier,

Modifier la variable $hidden_files afin de cacher certains dossiers et fichiers qui gênent votre page d'accueil mais que vous devez/souhaitez garder à cet emplacement :)

Utilisez et personnalisez ce code librement ! :D


Statistiques

Ajouté par Nazario
le 31/05/2018 à 22h51
111
lignes de code
126
vues

2 votes


Code PHP

<?php

// Image à afficher en haut de la liste des fichiers
$url_logo = 'https://www.talizr.com/public/images/logo2.png';
// URL de la feuille de style CSS
$url_css = 'https://www.talizr.com/public/css/bootstrap.min.css';
// URL pour accéder à PhpMyAdmin
$url_phpmyadmin = 'http://localhost/phpmyadmin';

// Fichiers à ne pas afficher
$hidden_files = ['','favicon.ico','index.php','phpmyadmin','_Wamp'];

?>

<!DOCTYPE HTML>
<html>
    <head>
        <title>www/ — Liste des dossiers & fichiers</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
        <meta http-equiv='Content-Type' content='text/html;charset=UTF-8'/>
        <link rel="stylesheet" href="<?=$url_css?>" id="bootstrap-css">
		<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
    </head>
    <body>
    <div class="container">
		<p class="text-center">
			<img src="<?=$url_logo?>" style="height: 100px" class="p-3" alt="" />
		</p>
		<div class="row">
			<div class="col-sm-12 col-md-6">
				<h4>Répertoire: <small>Liste des dossiers & fichiers</small></h4>
				<ul class="list-group">
					<?php
					
					// On ouvre le dossier actuel
					if ($handle = opendir('.')) {

						// On créé 2 tableaux différents pour les afficher l'un en premier par la suite (les dossiers)
						$liste_dossiers = array();
						$liste_fichiers = array();

						// On navigue dans le dossier
						while (false !== ($entry = readdir($handle))) {
							// S'il ne s'agit pas du dossier en cours ou du dossier parent, on continue
							if((!array_search($entry, $hidden_files))&&($entry != '.')&&($entry != '..')) {
								if(is_dir($entry)) $liste_dossiers[] = $entry; // S'il s'agit d'un dossier, on l'ajoute dans le tableau adequat
								else $liste_fichiers[] = $entry; // Sinon, il s'agit d'un fichier
							}
						}
						closedir($handle);
					}


					// On tri les tableaux 
					sort($liste_dossiers, SORT_NATURAL | SORT_FLAG_CASE);
					sort($liste_fichiers, SORT_NATURAL | SORT_FLAG_CASE);

					// Fonction pour optimiser le code, sera utile pour afficher les lignes des dossiers et des fichiers
					function displayLines($type) {
						global $liste_dossiers, $liste_fichiers; // On récupère les variables globales
						$tmparray = ($type == 'dir') ? $liste_dossiers : $liste_fichiers;
						$tmpclass = ($type == 'dir') ? 'fas fa-folder text-warning':'far fa-file text-secondary';
						// On boucle sur le tableau pour afficher les lignes avec la classe correspondante
						for($i = 0; $i < count($tmparray);$i++) {
							echo '
								<li class="list-group-item">
									<i class="'.$tmpclass.'"></i>   <a href="'.$tmparray[$i].'">'.$tmparray[$i].'</a>
								</li>
							';
						}
					}

					displayLines('dir'); //on affiche les dossiers
					displayLines('files'); //on affiche les fichiers après les dossiers
					?>
				</ul>
				<p class="text-right text-muted">Version de PHP: <?=phpversion()?> — <a href="<?=$url_phpmyadmin?>">PhpMyAdmin</a></p>
			</div>
			<div class="col-sm-12 col-md-6">
				<h4>Outils: <small>Informations et liens utiles</small></h4>
				<ul class="list-group">
					<li class="list-group-item text-center">
						<a href="https://www.talizr.com/services/choix-convertisseur-couleurs">
							Sélecteur de couleur<br><img src="https://www.talizr.com/public/images/prisme.png" class="img-fluid m-2 " alt="">
						</a>
					</li>
					<li class="list-group-item text-center">
						<a href="https://www.talizr.com/services/generateur-bannieres-boutons">
							Générateur de bannières & boutons<br><img src="https://www.talizr.com/public/images/generateur_bannieres.png" class="img-fluid m-2" alt="" />
						</a>
					</li>
					<li class="list-group-item text-center">
						<a href="https://www.talizr.com/services/snippets">
							Snippets & partage de code<br><img src="https://www.talizr.com/public/images/partage_snippets.png" class="img-fluid m-2 rounded border border-secondary" alt="" />
						</a>
					</li>
					<li class="list-group-item text-center">
						<img src="https://www.google.fr/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png" class="img-fluid m-2" alt="">
						<form method="get" action="https://www.google.fr/search?">
							<input type="text" class="form-control" name="q" placeholder="Recherche (valider avec Entrée)" />
						</form>
					</li>
				<hr>
			</div>
		</div>
	</div>
	</body>
</html>

0 commentaire

Aucun commentaire ajouté, soyez le premier à donner votre avis !