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

Langage PHP Discussion :

Sauver une page web ds un dossier


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 12
    Par défaut Sauver une page web ds un dossier
    Bonjour à tous,

    J'aurais besoin d'un coup de main.

    Je veux simplement capturer une image web et la sauvegarder ds un fichier.

    J'ai fait des test à partir d'un executable que j'ai téléchargé: (IECapt.exe)

    si je veux capturer ex: http://www.cisco.com
    je n'ai qu`a entrer la commande DOS:

    >iecapt.exe http://www.cisco.com monimagecisco.png

    et alors, IECapt envoi l'image de Cisco ds un dossier et l'appel: monimagecisco.png (cet exe utilise: webthumb.php et image.class.php).

    Si je veux cette même image, mais en JPG,
    je retappe la même commande et change l'extention png par jpg.

    Le problème est le suivant;

    Je veux maintenant executer ce script(webthumb.php) mais à partir d'un formulaire.

    je soumet mon URL et le type d'image(valeur) que je veux par défaut= 2(JPG), le type_d'image est en 'Hidden' puisque que je ne veux aucune sélection possible par l'utilisateur. Alors, la valeur 2 est ajoutée ds mon formulaire pour que mon script puisse faire la correspondance;

    Mon Formulaire:
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <body>
    <p>&nbsp;</p>
    <form id="form1" name="form1" method="post" action="webthumb.php">
    <label>Pls Enter WEB site:
    <input name="textfield" type="text" value="" />
    <input type="submit" name="url" value="Submit" />
    <input type='hidden' name='image_type' value='2'>
    </p>
    </form>
    <p>&nbsp;</p>
    </body>
    Lorsque je soumet mon formulaire j'ai l'erreur suivant:

    Thumbnail Generation Error. Thumbnail not created(la source de cette erreur vient bien entendu de webthumb.php(voir la dernière ligne du script ci-dessous), donc si on reprend ce script, l'URL passe sans problème mais ne semble pas digérer le type d'image...Pourquoi??? est-ce que la syntaxe utilisée ds mon formulaire(voir ci-haut) est ok ???

    webthumb.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
     
    if(isset($_POST['url']) && isset($_POST['image_type'])){
    $website_url = $_POST['url'];
    $website_url = $_POST['image_type'];
    } else {
    die("Site URL must be specified.");
    }
     
    if ($image_type == 1) $output_format = 'gif'; <--probleme?
    if ($image_type == 2) $output_format = 'jpg'; <--probleme ?
    if ($image_type == 3) $output_format = 'png'; <--probleme ?
     
    $website_url_md5 = md5($website_url);
     
    $cached_filename = $thumbnails_folder . $website_url_md5 . '.' . $output_format;
     
    // See if we have cached website screenshot image (to minimize server load)
    if (!file_exists($cached_filename) 
    || filemtime ($cached_filename) + $cache_expire_time * 60 < time() ) {
     
    // Get website image and save it on the server.
    @exec('IECapt.exe ' . escapeshellarg($website_url) . ' ' . escapeshellarg($cached_filename));
     
    } // if (!file_exists
     
    if (!file_exists($cached_filename)) {
    die("Thumbnail Generation Error. Thumbnail not created.");
    }

  2. #2
    Membre émérite Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Par défaut
    Bon ben déjà je vois une très probable erreur ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $website_url = $_POST['url'];
    $website_url = $_POST['image_type'];
    car à peine tu affectes une valeur à ta variable $website_url, que tu l'écrases, donc y'a un truc pas logique quelque part
    Je suppose que c'est une erreur d'étourderie et que tu voulais faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $website_url = $_POST['url'];
    $image_type = $_POST['image_type'];
    Ensuite, si ça marche toujours pas, essayes d'enlever le @ à la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @exec('IECapt.exe ' . escapeshellarg($website_url) . ' ' . escapeshellarg($cached_filename));
    Le @ cache les messages d'erreurs, donc avec un peu te chances, si php te donne plus d'infos sur ce qui plante, ça peut t'aider pour le débuggage

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/01/2015, 00h03
  2. Sauver une page web parfaitement ?
    Par navania dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 19/01/2011, 14h46
  3. Utiliser des images stockées dans un dossier TMP dans une page web
    Par k o D dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 19/07/2010, 21h38
  4. Réponses: 0
    Dernier message: 07/11/2009, 17h36
  5. Réponses: 3
    Dernier message: 28/10/2003, 15h26

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