Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/03/2007, 15h50   #1
Invité de passage
 
Inscription : mars 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 12
Points : 1
Points : 1
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 :
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 :
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.");
}
Charlie City est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2007, 19h34   #2
Membre chevronné
 
Avatar de Hervé Saladin
 
Développeur Web
Inscription : décembre 2004
Messages : 636
Détails du profil
Informations personnelles :
Âge : 30

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2004
Messages : 636
Points : 689
Points : 689
Bon ben déjà je vois une très probable erreur ici :
Code :
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 :
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 :
@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
__________________
Ne cliquez pas sur ce lien
Hervé Saladin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h47.


 
 
 
 
Partenaires

Hébergement Web