2010-09-24 5 views

Répondre

5

Vous pouvez: Ecrire une page de script côté serveur comme PHP, JSP, ASP.net etc pour générer ce code HTML dynamiquement

ou

Configuration du serveur Web que vous utilisez (par exemple Apache) de faire exactement cela automatiquement pour les répertoires qui ne contiennent pas les bienvenus pages (par exemple index.html) lire la suite ici

plus précisément dans apache: Modifier le httpd.conf: http://justlinux.com/forum/showthread.php?s=&postid=502789#post502789

ou ajoutez le mod autoindex: http://httpd.apache.org/docs/current/mod/mod_autoindex.html

+0

Le serveur apache est hors de mon contrôle. '.htaccess' est désactivé. Je suis un vrai débutant, un simple exemple de travail serait apprécié. –

+0

Est-ce que votre apache supporte PHP? vous devez utiliser apache qui prend en charge l'écriture de scripts côté serveur sinon c'est impossible .. – DuduAlul

+0

@MrOhad Comment puis-je le dire? –

2

Cela ne peut pas être fait avec du HTML pur.

Cependant, si vous avez accès à PHP sur le serveur Apache (vous avez marqué le message "apache"), cela peut être fait facilement - se the PHP glob function. Sinon - vous pouvez essayer Server Side Include - c'est une chose Apache, et je ne sais pas trop à ce sujet.

+0

Je n'ai jamais écrit de PHP. Si vous pouviez donner un exemple de travail pour un HTML, je peux mettre dans mon répertoire - ce serait génial! –

1

Avez-vous essayé de lui permettre de ce répertoire via .htaccess?

Options +Indexes 

J'utilise cela pour certains de mes répertoires où la liste des répertoires est désactivé par mon fournisseur

+1

C'était mon premier choix, mais le serveur apache est hors de mon contrôle et il semble que '.htaccess' est désactivé. J'obtiens Internal Server Error lors de l'ajout de '.htaccess'. –

20

Pour moi, PHP est la meilleure façon de le faire:

<?php 
echo "Here are our files"; 
$path = "."; 
$dh = opendir($path); 
$i=1; 
while (($file = readdir($dh)) !== false) { 
    if($file != "." && $file != ".." && $file != "index.php" && $file != ".htaccess" && $file != "error_log" && $file != "cgi-bin") { 
     echo "<a href='$path/$file'>$file</a><br /><br />"; 
     $i++; 
    } 
} 
closedir($dh); 
?> 

place dans votre répertoire et définissez où vous voulez chercher sur le chemin $. La première instruction if masquera votre fichier php et .htaccess ainsi que le journal des erreurs. Il affichera ensuite la sortie avec un lien. C'est un code très simple et facile à éditer.

+3

A travaillé comme un charme. – thefreeline

+5

Ceci a plusieurs vulnérabilités XSS stockées: les noms de fichiers peuvent contenir des guillemets et < >, etc. –

0

Pour savoir le HTML est très important que nous pouvons créer notre propre site Web pour notre besoin. Vous pouvez créer un simple fichier index.html DirectoryIndex index.html DirectoryIndex index.php

directive unique

DirectoryIndex index.html index.php 

Check ici un moyen facile d'apprendre le HTML dans HTML Beautifier outil qui vous aide à embellir ou formatez votre code HTML désordonné et peu clair pour le lire clairement. En outre, il permet de pratiquer plus de jeu de codage dans l'espace donné. Si vous avez fait une erreur en modifiant, il vous corrigera avec le format correct. Aussi, il est très utile pour les développeurs de trouver et de corriger les erreurs d'exécution dans le code html imbriqué.

8

Il existe suffisamment de raisons valables pour désactiver explicitement les index de répertoires automatiques dans Apache ou d'autres serveurs Web. Ou, par exemple, vous pouvez souhaiter inclure uniquement certains types de fichiers dans l'index. Dans ce cas, vous pouvez toujours avoir un index généré statiquement.html fichier pour des dossiers spécifiques.

Ceci peut être facilement atteint avec tree - un utilitaire qui est disponible minimalistic sur la plupart des distributions Linux (par exemple ubuntu/debian: sudo apt install tree) et qui, entre autres choses peuvent générer XML, JSON ou sortie HTML.

Générer un index répertoire HTML d'un niveau profond:

tree -H '.' -L 1 --noreport --charset utf-8 > index.html 

comprennent uniquement certains types de fichiers qui correspondent à un motif de glob, par exemple *.zip fichiers:

tree -H '.' -L 1 --noreport --charset utf-8 -P "*.zip" > index.html 

L'argument de -H est ce qui sera utilisé comme base href, vous pouvez passer soit un chemin relatif, comme . ou un chemin absolu de la racine web, tels que /files . -L 1 limite la liste au répertoire en cours uniquement.

Je voulais un générateur d'index que je pouvais le style de la façon dont je voulais, donc fini par utiliser this script - en plus d'avoir un style personnalisable, le script également générer récursive le fichier index.html dans tous les sous-répertoires imbriqués.

+1

excellente solution !!! Si vous voulez omettre les répertoires dans votre fichier 'index.html', ajoutez' --prune' à la commande 'tree' – MarcoS

Questions connexes