Bonjour les Amis,
ma question est simple mais Google me répond à coté Smiley decu
Je veux simplement parcourir le contenu d'une clé USB
disons par exemple :

<?php 
header('Content-type: text/html; charset=UTF-8');
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<?PHP
ini_set ('max_execution_time', 0);
$data = glob("h:\fichier_ori/*"); 
$z=count($data);
$LesFichiers = array();
$i=0; 
$y=0;
foreach( $data as $filename)
  {
/* ============= */
/* ETC.................... */
  }

LA SEULE CHOSE QUI M'INT2RESSE EST COMMENT ON ECRIT
: $data = glob("h:\fichier_ori/*");
Merci Smiley ravi
Modérateur
Bonsoir,

Ce n'est tout simplement pas possible et heureusement, sinon n'importe quel site pourrait copier n'importe quel fichier du pc d'un visiteur.

A partir du navigateur, il y a l'input type=file qui peut avoir accès au(x) disque(s) de la machine.

Tu peut essayer ceci:

<input type="file" webkitdirectory>
<ul id="files"></ul>


avec

document.querySelector("input").onchange = function () {
  [].slice.call(this.files).forEach(function (v) {
    document
      .querySelector("#files")
      .insertAdjacentHTML("beforeend", "<li>" + v.name + "</li>");
  });
};


Voir: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory
Demo : https://codepen.io/gc-nomade/pen/RwmNKrz

Tu peut ensuite mettre en autorun la clé USB pour ouvrir la page contenant ce code, ce sera à l'utilisateur de pointer sur un dossier quelconque .

Dans un formulaire, tu peut ensuite le traiter en le soumettant vers ton serveur php si l'idée est d'envoyer des fichiers.

Il y a peut-être d'autre solutions , mais surement pas simples Smiley smile

cdt
Modifié par gcyrillus (12 May 2024 - 00:03)
Désolé j'ai encore été imprécis mon PHP est fait pour tourner avec mon EASY-PHP local car c'est un véritable outil pour gérer mes photos et surtout les Rush de mes vidéos !
J'ai progressé depuis et tout marche désolé !

<html> 
<body>
<p align="center">
<?PHP 
ini_set ('max_execution_time', 0);

//============lire le repertoire===============================
header( 'content-type: text/html; charset=utf-8' );
$data = glob("h:\abcd/*"); 
$z=count($data);
$LesFichiers = array();
$i=0; 
$y=0;
foreach( $data as $filename)
  {
    if (is_file($filename) )
     {
      $LesFichiers[$i] = $filename;
      $filex = $LesFichiers[$i];
      $filex2=str_replace("The Voice 2017","",$filex);
      $filex2=str_replace(" ","-",$filex2);
      $filex2=str_replace("_","-",$filex2);
      $filex2=str_replace("(","",$filex2);
      $filex2=str_replace(")","",$filex2);
      $filex2=str_replace("«","",$filex2);
      $filex2=str_replace("»","",$filex2);
      $filex2=str_replace("Blind","",$filex2);
      $filex2=str_replace("Audition","",$filex2);
      $filex2=str_replace("--","-",$filex2);
      $filex2=str_replace("--","-",$filex2);
      $filex2=str_replace("--","-",$filex2);
      $filex2=str_replace("--","-",$filex2);

      $newfile =$filex2;
      $y++;
      if (!rename($filex, $newfile)) { echo "La copie ".$filex."  a échoué...<br />";}
      set_time_limit(20);
     }
 }
echo ("TERMINE pour ".$y." sur ".$z."<br />");
?>
<br /></p>
</body>
</html>

Voila ça peut servir !
Modifié par Fox-infograp (12 May 2024 - 02:00)