Aller au contenu

francoisch

Hubmaster
  • Compteur de contenus

    678
  • Inscrit(e) le

  • Dernière visite

Messages postés par francoisch

  1. Bonjour

    Jutilise des variables de session Php sur un site et tout fonctionne avec IE7, IE8, Firefox.

    Jai récemment consulté mon site avec lIphone dun ami et ça na pas fonctionné ; apparemment, les variables de session nétaient pas prises en compte.

    Je conviens que mon sujet paraît curieux puisque le Php est exécuté sur le serveur et que son fonctionnement ne doit pas dépendre du navigateur utilisé.

    Je nai malheureusement pas eu la possibilité de creuser ce sujet avec cet Iphone ni dinterroger mon site au même moment avec un PC.

    Si lun dentre vous avait un avis, merci à lui par avance.

    Francois

  2. Bonjour

    Si jai bien compris, dirname (__FILE__) donne le chemin absolu depuis le fichier dans lequel il est émis.

    Si jémets un dirname (__FILE__) depuis la racine, jaurai le chemin absolu jusquà la racine, par exemple : /homez.110/fctest/www.

    En émettant mon Include depuis le niveau 0, je lécris donc : include(dirname (__FILE__).'/admin2/lectureProfil.php')

    Si je lémet depuis un fichier situé dans un dossier de niveau 1, jaurai le chemin absolu jusquà ce dossier de niveau 1, par exemple : /homez.110/fctest/www/admin2

    En émettant mon Include depuis le niveau 1, je lécris donc : include(dirname (__FILE__).'/../admin2/lectureProfil.php').

    Mon problème : cet Include est émis depuis le même fichier, lui-même appelé depuis différents fichiers à différents niveaux ; je ne peux pas « moduler » mon Include suivant le niveau dappel initial.

    Suggestion : peut-être « décortiquer » le résultat du dirname (__FILE__) pour ne conserver que /homez.110/fctest/www/ ; ça aurait lavantage de la stabilité.

    A votre avis ?

    Francois

  3. Bonjour

    Jai une succession d'Include de ce genre :

    Dossier racine (niveau 0)
    Fonction1
    Include dossier2/fonction2

    Dossier2 (niveau 1)
    Fonction2
    Include dossier3/fonction3

    Dossier3 (niveau 2)
    Fonction3
    include ("../../admin2/lectureProfil.php"); (niveau 2 : je met ../../)
    ...

    dossier admin2
    lectureProfil.php
    require_once("../../connexion.php"); (niveau 2 : je met ../../)
    ...

    Jusque là, pas de problème, ça marche.

    Mon problème commence quand je veux appeler la même fonction lectureProfil.php dun autre niveau de dossier que le niveau 2 :

     
    Dossier racine (niveau 0)
    Fonction10
    include ("admin2/lectureProfil.php");
    ...

    car les Include (connexion.php, ...) dans cette fonction lectureProfil.php tiennent compte du niveau dappel initial (niveau 2 dans le premier exemple, niveau 0 dans le deuxième exemple).

    Alors, comment faire ? Jai raté qqechose ?

    Par avance merci de votre aide.

    Francois

  4. Oui, mon truc fonctionne, l'internaute peut accéder à ses "ressources personnelles": Word (s'il est installé), photos (avec un carrousel maintenant), ... sur son PC (ou sur le site Web).

    Bien sûr, il accéde aussi à la messagerie, au Web.

    Tout ça sans saisir une seule adresse, mail, Web, DD, ...; son "aidant" aura spécifié pour lui à l'avance ses correspondants, avec leurs adresses.

    L'internaute clique juste sur de gros boutons.

    Au préalable, mon site aura été mis sur le PC dans les sites de confiance dans IE et le niveau personnalisé pour permettre l'utilisation d'un ActiveX.

    Francois

  5. Oui, mon interface est très simple, de couleur claire, avec de gros boutons pour que tous, à peu près, puissent cliquer dessus.

    Le PC, utilisé par une seule personne, ou par un groupe (clinique, maison de retraite, ...), est configuré une fois pour toutes.

    Pour les applet, je ne connais pas; on est en Java là? Si Oui, c'est en dehors de mes connaissances; ça présenterait des avantages?

    Francois

  6. Merci de vos réponses.

    Oui, mes internautes utilisent IE simplement parce que c'est le plus simple pour eux, ça fait tjs partie d'un PC Windows.

    Grace à ça, j'utilise un ActiveX existant quand j'en ai besoin; naturellement, ça demande d'autoriser cet ActiveX sur le PC de la personne.

    Une fenêtre de navigateur est ce que j'ai trouvé de plus simple comme interface unique pour aller à la fois sur Internet et accéder à des ressources locales (photos, ...).

    Pour une personne âgée ou handicapée, arriver déjà à utiliser un navigateur est très long et difficile, même en simplifiant à l'extrême.

    Et pourtant ce sont surtout ces personnes qui sont le plus souvent isolées et qui ont donc besoin de communiquer, plus peut-être que beaucoup d'autres.

    Merci de votre aide.

    Francois

  7. bonjour

    J'ai omis de vous dire que les utilisateurs de mon site ont 75 ans d'âge moyen (entre 65 et 90), ou sont lourdement handicapés (sclérose en plaques, ...) et sont, à ce titre, totalement incapables de procéder de la manière habituelle.

    Le Web est fantastique surtout quand il s'adapte aux capacités de chacun; à ce titre, j'utilise IE d'une manière certes pas tout à fait orthodoxe mais en toute bonne conscience dans le but de leur permettre de s'en servir en dépit de leurs handicaps.

    Francois

  8. Ta réticence est normale et naturelle.

    Ma démarche consiste néanmoins à permettre à l'internaute d'accéder (accès contrôlé) aussi bien à des ressources Internet (messagerie, Web) qu'à des ressources sur son propre PC, des photos par exemple.

    Francois

  9. Aïe, au moins, j'ai appris qqechose.

    J'ai mis au point ces derniers jours un carrousel de photos (en JS); ces photos (jpg, gif, ..) sont installées dans ce dossier (ou dans d'autres dossiers) sur un PC (le mien en test, d'autres au delà).

    Ce carrousel est activé par un clic sur un bouton dans une page Php de mon site; je voudrais ne faire apparaître ce bouton que si le dossier existe sur le PC.

    En effet, une personne accédant à mon site (contrôlé) peut ne pas avoir créé le dossier mais cliquer quand même sur le bouton, ce qui provoquerait une erreur.

    Peut-être faudrait-il que j'essaie de faire ce contrôle plutôt en JS?

    Francois

  10. bonjour

    Une réponse sur les quotes: j'ai essayé plusieurs formats, n'étant pas bien sûr de ceux qui étaient parfaitement corrects:

    "W:/isipc/martinot/photoC"
    "W:/isipc/martinot/photoC/"
    "W:\\isipc\\martinot\\photoC"
    "W:\\isipc\\martinot\\photoC\\"
    "W:\\\\isipc\\\\martinot\\\\photoC"
    "W:\\\\isipc\\\\martinot\\\\photoC\\\\"

    Voila pour un des essais:

    $cheminCarrousel = "W:/isipc/martinot/photoC";		
    print "cheminCarrousel : ".$cheminCarrousel ."<br>";
    if (is_dir($cheminCarrousel))
    {echo "OK <br>";}
    else {echo "KO KO KO <br>"; }

    Merci de ton aide.

    Francois

    Captain

    Je teste ma page installée chez mon hébergeur et j'essaie de lire un dossier sur mon PC.

    Pas possible?

    Francois

  11. bonjour

    Voici une partie de la réponse, sur l'opendir:

    opendir("W:\\isipc\\martinot\\photoC");

    qui donne:

    Warning: opendir(W:\isipc\martinot\photoC) [function.opendir]: failed to open dir: No such file or directory in

    J'ai un WinXP SP2; le Php de mon hébergeur est à 4.4.9.

    Je n'ai introduit aucune gestion des droits dans mon Windows.

    J'ai accédé ce matin d'un autre PC WinXP avec exactement les mêmes résultats, des KO partout.

    Francois

  12. Merci de vos réponses.

    J'ai ajouté le clearstatcache():

    clearstatcache();
    if (is_dir($cheminCarrousel))
    {echo "OK<br>";}
    else {echo "KO KO KO <br>"; }

    mais je sors toujours en KO.

    Oui, le dossier W:\isipc\martinot\photoC existe, il y a 3 fichiers dedans (2 jpg, 1 gif).

    Mon disque W est un disque virtuel créé au boot avec subst w: e:\ ; j'ai essayé avec E:\isipc\martinot\photoC avec le même résultat.

    Francois

    --------------------------

    J'ai fait qqes tests supplémentaires:

    cheminCarrousel : W:\isipc\martinot\photoC
    KO KO KO
    cheminCarrousel : W:/isipc/martinot/photoC
    KO KO KO
    cheminCarrousel : W:\\isipc\\martinot\\photoC
    KO KO KO
    cheminCarrousel : W:\isipc\martinot
    KO KO KO
    cheminCarrousel : W:\isipc
    KO KO KO
    cheminCarrousel : W:
    KO KO KO
    cheminCarrousel : W:\
    KO KO KO
    cheminCarrousel : E:
    KO KO KO
    cheminCarrousel : E:\
    KO KO KO
    cheminCarrousel : C:
    KO KO KO
    cheminCarrousel : C:\
    KO KO KO

    J'ai bien un disque C, un disque E, un disque W, et les dossiers qui vont avec.

    J'ai arrêté mon firewall (ZoneAlarm) pour voir, ça ne change rien.

    Merci de votre aide.

    Francois

  13. Merci de ta réponse.

    J'ai essayé plusieurs solutions dont la tienne:

    cheminCarrousel: W:\\isipc\\martinot\\photoC\\
    KO KO KO
    cheminCarrousel2: W:\isipc\martinot\photoC\
    KO KO KO
    cheminCarrousel3: W:/isipc/martinot/photoC/
    KO KO KO
    cheminCarrouselFile2: file:///W:\isipc\martinot\photoC\
    KO KO KO
    cheminCarrouselFile: file:///W:\\isipc\\martinot\\photoC\\
    KO KO KO
    cheminCarrouselFile3: file:///W:/isipc/martinot/photoC/
    KO KO KO

    mais ça ne fonctionne pas.

    La fonction de test:

    if (is_dir($cheminCarrousel))
    {echo "OK <br>";}
    else {echo "KO KO KO <br>"; }

    Merci par avance de votre aide.

    Francois

  14. Bonjour

    Jai besoin de vérifier quun dossier local sur mon PC existe bien.

    Je fais :

    if (is_dir(file:///W:/isipc/martinot/photoC/))
    {
    echo "OK";
    }

    mais ça ne fonctionne pas.

    Merci par avance de votre aide.

    Francois

  15. Bonjour

    Jutilise cette fonction connue :

    function s_glob($dir, $typeFile=null)
    {
    $files = array();
    if(is_dir($dir))
    {
    if($dh=opendir($dir))
    {
    while(($file = readdir($dh)) !== false)
    {
    if($typeFile == null || eregi('\.'.$typeFile.'$', $file))
    {
    $files[]=$dir.$file;
    }
    }
    }
    }
    return $files;
    }

    pour constituer la liste des fichiers dextension .jpg, par exemple, dans un dossier ; cette liste est contenue dans la variable $files naturellement.

    Mais jai aussi des fichiers dextension .gif, par exemple, dans ce dossier.

    Je vais donc invoquer la fonction s_glob une deuxième fois pour obtenir une deuxième liste qui sera aussi contenue dans $files.

    Question : comment puis je concaténer les deux listes pour nen faire quune seule ? placer le premier contenu de $files dans une autre variable $files1 et ensuite faire $files2 = $files1.$files ?

    Par avance merci de votre aide.

    Francois

  16. Captain

    Ma ligne est bien devenue:

    if($typeFile == null || preg_match('\.'.$typeFile.'$i', $file))

    mais j'ai un message d'erreur que je ne comprend pas:

    Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash /homez.110/fctest/www/glob.php on line 22

    Merci de ton aide.

    Francois

  17. bonjour

    Woops, je suis allé un peu vite, ça paraît ne pas fonctionner.

    La fonction, avec les traces que jy ai ajouté :

    function s_glob($dir, $typeFile=null)
    {
    echo "typeFile avant: ".$typeFile."<br>";
    $typeFile = strtolower($typeFile); // mettre le file type en minuscules
    $files = array();
    if(is_dir($dir))
    {
    if($dh=opendir($dir))
    {
    while(($file = readdir($dh)) !== false)
    {
    // echo "typeFile while: ".$typeFile."<br>";
    echo "file while: ".$file."<br>";
    if($typeFile == null || ereg('\.'.$typeFile.'$i', $file))
    {
    echo "typeFile apres: ".$typeFile."<br>";
    $files[]=$dir.$file;
    }
    }
    }
    }
    return $files;
    }

    Les traces :

    typeFile avant: jpg
    file while: .
    file while: ..
    file while: IMG11.JPG
    file while: IMG10.JPG
    file while: repfam01.jpg
    file while: IMG1.JPG
    file while: IMG2.JPG
    file while: IMG13.JPG
    file while: repfam02.jpg
    file while: IMG3.JPG
    file while: IMG4.JPG
    file while: IMG12.JPG

    Il paraît bien ne pas passer dans if($typeFile == null || ereg('\.'.$typeFile.'$i', $file)).

    Jai raté qqechose ?

    Francois

×
×
  • Créer...