Aperçu des fichiers images ou html

Soyez le premier à donner votre avis sur cette source.

Vue 11 464 fois - Téléchargée 550 fois

Description

Crée un array en Javascript. Les extensions doivent ëtre en minuscule.

C'est une ligne de commande avec arguments.

Utilisation :
Liste des extensions que vous désirez recenser.
<?php echo $argv[0]; ?> < jpg gif png jpeg htm html php js maxsize minsize jsFile>
EX:
jsFile = produit un fichier .js
maxsize5120 fichier moins gros que 5K
minsize2048 fichier plus gros que 2K

Avec les options - -- --usage, -Usage Usage /? vous obtiendrez cette aide.

Source / Exemple :


<?php
//extensions en minuscules.
//http://www.codes-sources.com/codes_auteur/GROSJEANCOMMEDEVANT/330135.aspx
//php -check-f myArray.php jsFile maxsize61440 minsize1000 jpg gif && myArray.html
$dir = ".";
$dh  = opendir($dir);
$usage = array('-', '--', '--usage', '-Usage', 'Usage', '/?');
$extensions = array('jpg'=>'$jpg', 'gif'=>'$gif', 'png'=>'$png', 'jpeg'=>'$jpeg', 'htm'=>'$htm', 'html'=>'$html', 'php'=>'$php', 'js'=>'$js', 'jsFile'=>'$jsFile', 'minsize'=>'$minsize', 'maxsize'=>'$maxsize');
$listable = array();
$minsize = 0;
$maxsize = 200000;
$jsFile = false;

if ($argc < 2 || in_array($argv[1], $usage)) {
?>

C'est une ligne de commande avec arguments.

  Utilisation :
  Liste des extensions que vous désirez recenser.
  <?php echo $argv[0]; ?> < jpg gif png jpeg htm html php js maxsize minsize jsFile>
	EX:
	jsFile = produit un fichier .js
	maxsize5120 fichier moins gros que 5K
	minsize2048 fichier plus gros que 2K
  
  Avec les options - -- --usage, -Usage  Usage /? vous obtiendrez cette aide.

	List of extensions you want to memorize.
	jsFile = create a .js file
	maxsize59392 file smaller than 60K
	minsize2048 file bigger than 2K
	Ok=another file, Number to increase i, z=remember this file, annuler=exit
<?php
}
    for ($j=0, $i=1;$i < $argc;$i++)
    {
	if($argv[$i] === 'jsFile'){
	   $jsFile = true;
	}
	if(strstr($argv[$i], 'minsize')){
	   $minsize = substr($argv[$i], 7);
	}
	if(strstr($argv[$i], 'maxsize')){
	   $maxsize = substr($argv[$i], 7);
	}
		    foreach($extensions as $key => $value)
		    {
			 if($key == $argv[$i])
			  {
			  $listable[$j] = $key;
			  $j++;
			  }

			 
		    }
    }

//print_r ($listable);
////////////////////////////////////////////////////////////

   while (false !== ($filename = readdir($dh))) {
   $type = pathinfo($filename);
   $ext = $type ['extension'];
   $imgSize = filesize ($filename);
	 if(($imgSize > $minsize) && ($imgSize < $maxsize) && in_array($ext, $listable)){
	    $files[] = $filename;
	 }
	 
   }
//print_r ($files);

sort($files, SORT_LOCALE_STRING);

$num2 = count($files)-1;

// print "<a href=\"./$list[$i]\">$list[$i]</a><br />";  possible link to file in html file

/////////////// PRINT OR CREATE THE JAVASCRIPT ARRAY ///////////////////////////////////////////////

$ii = 0;
for($ii = 0; $ii<$num2; $ii++)
		$myArray = $myArray ."'$files[$ii]', ";

$myArray = $myArray ."'$files[$ii]'";
$myArray =  'var myArray = new Array(' . $myArray. ");\n";

ob_start();
print <<<end
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
								"http://www.w3.org/TR/html4/loose.dtd">
<!-- saved from url=(0014)about:internet -->
<html>
<head>
<title>myArray</title>
<script type="text/javascript" SRC="myArray.js"></script>
<style type="text/css" media="screen">
</style>
</head>
<body>
<script type="text/javascript">
$myArray

function isNumber(inputStr) {
		for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.substring(i, i + 1);
			if (oneChar < "0" || oneChar > "9") {
			alert("Please make sure entries are numerals only.");
			return false;
			}
		}
return true;
}
storeArray = new Array();
outer:
	for (var i = 0; i<myArray.length ;i++)
	{
	document.body.background = myArray[i];
	var temp = prompt("Fond " + i + "/" + myArray.length + " : " + myArray[i] + " Ok=fichier suivant, z=mémoriser le fond, Augmenter la valeur de i, annuler=annule", "");
			switch(temp){
			case null:
			break outer;
			case 'm':
			storeArray.push(myArray[i]);
			break;
			case '':
			break;
			default:
			if(isNumber(temp)){i = temp;}
			break;
			}
	}

	for (var i = 0; i<(storeArray.length);i++)
	{
	document.body.background = storeArray[i];
	var temp = prompt("Choix de Fond " + i + "/" + storeArray.length + " : " + storeArray[i] + " Ok=fichier suivant, z=mémoriser le fond, annuler pour annuler", "");
	if(temp != 'mem') storeArray[i] = '-';
	}
	
	document.write(storeArray.toString())

</SCRIPT>
</body>
</html>
end;

//print $myContent;
$buffer = ob_get_flush();
////////////////////////////////  Write  the file  //////////////////////////////////////////////

$myArrayFile = "myArray.html";
$myArrayJs = "myArray.js";
    // Dans notre exemple, nous ouvrons le fichier $filename en mode d'ajout
    // Le pointeur de fichier est placé à la fin du fichier
    // c'est là que $somecontent sera placé
    if (!$myBool = fopen ($myArrayFile, "w")) {
         echo "Impossible de créer le fichier ($myArrayFile)";
         exit;
    }

   // Assurons nous que le fichier $myArrayFile est accessible en écriture
   if (is_writable($myArrayFile)) {

	  // Ecrivons quelque chose dans notre fichier.
	  if (fwrite($myBool, $buffer) === FALSE) {
		echo "Impossible d'écrire dans le fichier ($myArrayFile)";
		exit;
	  }
	  fclose($myBool);              
   }else{
   echo "Le fichier $myArrayFile n'est pas accessible en écriture.";
   }

///////////////////////////   bug   

if($jsFile != 0){

		// Assurons nous que le fichier $myArrayJs est accessible en écriture
		if (!$myBool2 = fopen ($myArrayJs, "w")) {
			echo "Impossible de créer le fichier ($myArrayJs)";
			exit;
		}
	    if (is_writable($myArrayJs)) {
		   // Ecrivons quelque chose dans notre fichier.
		  
		   if (fwrite($myBool2, $myArray) === FALSE) {
			 echo "Impossible d'écrire dans le fichier ($myArrayJs)";
			 exit;
		   }
		   fclose($myBool2);              
	    }else{
	    echo "Le fichier $myArrayJs n'est pas accessible en écriture.";
	    }
}

?>

Codes Sources

A voir également

Ajouter un commentaire Commentaire
Messages postés
60
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
3 octobre 2006

Ne marche pas chez moi, erreur à la ligne 78.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.