IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

screenshots, bash, php


Sujet :

Administration système

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    495
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 495
    Points : 396
    Points
    396
    Par défaut screenshots, bash, php
    Bonjour,

    j'utilise la technique trouvée ici, pour faire des screenshots :
    http://www.debian-administration.org/articles/413
    j'ai modifié un peu le script bash.. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #!/bin/bash
    export DISPLAY=":1"
    /usr/bin/firefox --display :1 "$1" > /dev/null 2> /dev/null &
    /bin/sleep 10
    /usr/bin/import -window root -crop 800x600+30+350  -display :1 "$2"
    /usr/bin/convert "$2" -resize 200 "$2"
    killall firefox-bin

    j'appelle ce script bash, au travers d'un script php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <?php
    $url = $_GET['url'];
    $image = md5($url).'.jpg';
    $imagePath = "/var/www/voyagemotion/html/screenshots/images/";
     
    $complete = $imagePath.$image;
     
     
    if (isset($url)) {
     
     
            if (file_exists($complete))
            {
                    header("Content-Type: image/jpeg");
                    readfile($complete);
            }
            else
            {
                    $cmd = "sudo /home/monagencebox/screenshot.sh $url $complete";
                    passthru($cmd, $out);
     
                    if (file_exists($complete))
                    {
                            @chmod($complete, 0777);
                            header("Content-Type: image/jpeg");
                            readfile($complete);
                    }
                    else
                    {
                            echo $complete.'<br />';
                            echo $cmd.'<br />';
                            echo $code.'<br />';
                            print_r($out);
                    }
     
            }
    }
    else
    {
            echo "probleme d'url";
    }
    ?>

    Quand j'appelle le script php directement, ca marche bien.. MAIS le but du jeu c'est d'afficher une screenshot de chaque page sortie par un moteur de recherche.. donc le moteur de recherche affiche 10 urls, et appelle 10 fois ce script...<img src=http://...Monscript.php?url=.... /> et la, ca donne n'importe quoi.. la meme image pour 4 urls differentes par exemple.. et je pense que c'est du aux appels concurrents du script

    Comment faire ?

  2. #2
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 120
    Points : 76
    Points
    76
    Par défaut Sculpteur
    Bonjour
    j'étais chargé de rélaliser un screenshot dynamique des sites stockés dans une base de données, j'ai utilisé votre code

    et je reçois:
    0a137b375cc3881a70e186ce2172c8d1.jpg
    sudo /home/monagencebox/screenshot.sh www.google.com 0a137b375cc3881a70e186ce2172c8d1.jpg
    1
    malheureusement je suis nul dans la création des batchs linux
    -est ce que: qui se trouve dans le screenshot.sh sont 2 repertoires ou un repertoire vide?
    -ou dois-je placer le screenshot.sh et qu'est ce que je dois mettre au lieu de ce chemin?
    $cmd = "sudo /home/monagencebox/screenshot.sh $url $complete";
    Merci d'avance pour votre aide


    pour votre problème je crois que la boucle qui parcourt les URLs n'attend pas l'achevement du premier screenshot pour entamer le 2eme alors ton script execute plusieurs screenshots avant la fermeture de firefox

    il faut retarder le script php
    et non pas le batch (sleep 10)

Discussions similaires

  1. multithread bash php
    Par mapmip dans le forum Linux
    Réponses: 3
    Dernier message: 19/05/2015, 10h34
  2. Transcription script génération de passe (bash -> php)
    Par gogy13 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 02/06/2011, 17h02
  3. [BASH + PHP] Fonction mail() PHP et donnée non lue
    Par Mika2008 dans le forum Langage
    Réponses: 2
    Dernier message: 30/08/2010, 22h30
  4. Passage d'argument bash/php
    Par sliderman dans le forum Linux
    Réponses: 5
    Dernier message: 20/12/2007, 18h20
  5. [PHP-JS] Screenshot en PHP
    Par Guilhem_mdg dans le forum Langage
    Réponses: 3
    Dernier message: 01/02/2007, 19h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo