Nous sommes le Mar 22 Juil, 2025 21:08
Supprimer les cookies

Page 3 sur 3Précédent 1, 2, 3[faisabilité] un script php qui browse des dossiers et...

Sur le logiciel libre en général ou un logiciel libre en particulier

Mar 24 Jan, 2006 12:10

ok, je vois bien la différence.
Mais il faudrait que tu m'expliques pourquoi tu utilises la methode post pour envoyer tes données sans utiliser enctype='multipart/form-data'. Parce que avec cette méthode là tu ne peux pas télécharger le fichier sur le serveur il me semble (j'ai testé rapidement avec un move_uploaded_file de ton $_POST et comme je le pensais ça ne fonctionne pas).

Et si tu ajoutes "enctype='multipart/form-data'" tu dois utiliser la variable $_FILES qui elle ne donne aucune différence entre IE et Firefox. En fait je ne comprend pas à quoi pourrait servir ce genre de script (à part récupérer juste le nom du fichier mais sans uploader le fichier sur le serveur)
Invité

Mar 24 Jan, 2006 13:08

(à part récupérer juste le nom du fichier mais sans uploader le fichier sur le serveur)


dans l'idée on veut juste récuperer une arbo en xml qui donnerai ça:

Code: Tout sélectionner
RACINE
|_nomdudossier1
--|_nomdufichier1
--|_nomdufichier2
--|_nomdufichier3
--|_nomdufichier4 => noms aléatoire, pas forcement triés par chiffres
|_nomdudossier2
--|_nomdufichier1
--|_nomdufichier2
--|_nomdufichier3
--|_nomdufichier4


le tout en xml pour pouvoir l'exploiter sous flash.

en fait apparement c'est l'ecriture en XML qui poserait problème à mon pote...
www.inkboy.fr
...Mais chanter, rêver, rire, passer, être seul, être libre, avoir l' oeil qui regarde bien, la voix qui vibre, mettre, quand il vous plaît, son feutre de travers, pour un oui, pour un non, se battre, -ou faire un vers ! | cyrano de bergerac, ACTE II, SCENE 8
Yosh

Messages : 657

Mar 24 Jan, 2006 14:03

parce que ce script me sert en local à repérer un fichier (image ou texte etc) à inclure automatiquement dans une page html.
Donc le créateur de question indique où est son fichier image, mettons, il est copié sous un nom automatique dans le répertoire adéquat, on crée dans ce même répertoiire un fichier HTML contenant la référence à l'autre. pAR LA SUITE l'ensemble sera copié sur une clef pour être transporté sur un serveur qui interdit FTP.


Espérant que c'est clair
Donnez une arme à quelqu'un et il s'en servira.
Donnez du pouvoir à quelqu'un et il en abusera.
sirakawa

Messages : 633
Géo : Orléans

Mar 24 Jan, 2006 17:09

ok sirakawa maintenant je comprend mieux l'utilisation que tu en as.

pour Yosh, l'écriture du fichier xml c'est comme l'écriture d'un fichier texte pas besoin de fonction spécifique, donc cela donne:
Code: Tout sélectionner
<?php

function liste ($repertoire , &$file) {
   //début de la liste
   $dir = opendir($repertoire);
   
   //on parcourt tous les repertoires
   //liste les differents fichiers et dossiers du dossier $repertoire
   while ( $f = readdir($dir) ) {
      if ( $f !="." && $f != ".." ) {
         if( is_dir($repertoire."/".$f) ) {
            //on sauvegarde l'arbre
            $file .= '<dossier name="' . $f . '">';
            //on s'appelle soi-même
            liste( $repertoire."/".$f , $file);
            $file .= '</dossier>';
         }
         if( is_file($repertoire."/".$f) ) {
         //on sauvegarde l'arbre
         $file .= '<fichier name="' . $f . '" />';
         }
      }
   }
}

$rep = '/home/leviatha/www'; //le nom de ton répertoire
$xml_file = 'liste.xml'; //le nom du fichier qui va contenir le fichier xml
$entete_xml = '<?xml version="1.0" encoding="iso-8859-1"?><siteweb>'; //l'entete du fichier xml, si tu utilise une DTD il faut la mettre ici également
$fin_xml = '</siteweb>'; //la fin de ton fichier xml
$file = '';

liste( $rep , $file );

if ( is_writable( $xml_file ) ) { //on vérifie que le fichier est accessible en écriture
   $handle = fopen( $xml_file, 'w+' );
   if( !$handle ) { //le fichier ne s'ouvre pas
      die( 'Erreur lors de l\'ouverture du fichier ' . $xml_file );
   }

   $file = $entete_xml . $file . $fin_xml;

   $result = fwrite( $handle , $file );
   
   if( $result === false ) {
      die( 'Erreur lors de l\'écriture du fichier ' . $xml_file );
   }
   
   fclose( $handle );
} else {
   die( 'Le fichier ' . $xml_file . ' n\'a pas les droits d\'écriture' );
}

echo '<a href="' . $xml_file . '">Voici le fichier</a>';

?>

Tu penseras bien entendu à changer les valeurs des variables.
De plus si tu as un problème au niveau de l'écriture du fichier, crée un fichier vide portant le même nom que $xml_file et donne lui les droits en écriture
Invité

Mar 24 Jan, 2006 18:26

je vais en parler à mon pote, en tout cas merci beaucoup !! j'attends de voir la réponse de toojee, et j'éditerai le topic pour mettre "réglé" dessus.
www.inkboy.fr
...Mais chanter, rêver, rire, passer, être seul, être libre, avoir l' oeil qui regarde bien, la voix qui vibre, mettre, quand il vous plaît, son feutre de travers, pour un oui, pour un non, se battre, -ou faire un vers ! | cyrano de bergerac, ACTE II, SCENE 8
Yosh

Messages : 657

Jeu 09 Fév, 2006 11:21

merci à tous!!! et surtout leviathan !!!

Ca fonctionne vraiment bien et c'est pourliché, avec les différentes erreurs qu'on peut avoir!
Bon ben maintenant je vais enfin pouvoir m'y mettre! thx
toojee

Messages : 3

Jeu 09 Fév, 2006 12:46

cool ! apparement ça marche, comme c'est destiné à un CD je vais voir si il faut mettre les chemins en relatif ou si tout est OK... mais apparement c'est nickel ! merci !!
www.inkboy.fr
...Mais chanter, rêver, rire, passer, être seul, être libre, avoir l' oeil qui regarde bien, la voix qui vibre, mettre, quand il vous plaît, son feutre de travers, pour un oui, pour un non, se battre, -ou faire un vers ! | cyrano de bergerac, ACTE II, SCENE 8
Yosh

Messages : 657

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit