html + php

vincent24100
Invité n'ayant pas de compte PHPfrance

10 nov. 2011, 10:08

bonjour voila mon soucis est ce que quelqu'un peux m'aider je cherche a ce que quand on rentre un adresse dans un input example c:\blabla\fr.xml.z et que on click sur le bouton sa me decompresse le fichier voici mes code html + php

code html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> decompresseur de xml </title>
 </head>
 <body>
<center>
<br><br><br><br><br><br>
<table border="10" bordercolor= "#ff0000">
<tr><td>
<h2><center><label>Entrer le chemin de votre xml ( .gz .z .xmlphp ) <br> a <br> decompresser <br> ou <br> a <br> compresser</label></center></h2></font>
<form>
<p>
<center>
<input size="65" type="text" value="c:\chemin de votre xml">
<button type="submit" name="decompresser" value="decompress" onclick="decompress($fd);">
<img src="http://www.dicollecte.org/img/forum/solved_overlay_big.png" alt=""><font size="5" color="#66cc00">decompress</font>
</button>
</center>
<p>
<center>
<input size="65" type="text" value="c:\chemin de votre xml">
<button  type="button" name="compresser" value="compress" onclick="compress($fd);" >
<img src="http://www.dicollecte.org/img/forum/solved_overlay_big.png" alt=""><font size="5" color="#66cc00">compresser&nbsp;</font>
</button>
</center>
</form>
</tr></td>
</table>
<style type="text/css">

body
{
background-color: #6666cc 
} 

label
{
color: #33ccff
}

input
{
background-color: #33ccff
}

button
{
border-bottom-color:  #33ccff
border-width: 80px
}

img
{
font-size-adjust: 50px
}

</style>
 </body>
</html>
les code php
gz_workRun.php

<?php
include('gz_workClass.php');
$gz=new gz_work();
  if (strcmp($argv[1], 'decompress') == 0) {
		$gz->decompress($argv[2]);
    }

    if (strcmp($argv[1], 'compress') == 0) {
		$gz->compress($argv[2]);
    }
?>
gz_workClass.php
<?php
class gz_work{

	function decompress($fd){
	    $fr = fopen($fd, 'r');
        $fl = fread($fr, filesize($fd));
        fclose($fr);

        $fn = strrev($fd);
        $fn = substr($fn, 3, strlen($fn)-3);
        $fn = strrev($fn);

        $fw = fopen($fn, 'w');
        fwrite($fw, gzuncompress($fl));
        fclose($fw);
        echo 'Decompressing finished' . "\n";
	}

	function compress($fd){
        $fr = fopen($fd, 'r');
        $fl = fread($fr, filesize($fd));
        fclose($fr);

        $fn = $fd . '.gz';
        $fw = fopen($fn, 'w');
        fwrite($fw, '02GM' . base64_encode(gzcompress($fl)));
        fclose($fw);
        echo 'Compressing finished' . "\n";
	}
}
?>

ViPHP
xTG
ViPHP | 7331 Messages

10 nov. 2011, 10:14

Il faut attribuer un name à ton input afin de pouvoir le récupérer.
Il faut une balise form entourant tes inputs afin qu'ils puissent être envoyés...

Bref... C'est un code que t'as récupéré et tu n'as aucune base pour faire ce que tu souhaites ?
Je te renvoie vers une série de tutoriaux qui te seront utiles : http://phpdebutant.org/article118.php (la liste est sur la droite ou via la liste déroulante en haut de l'article)

Invité
Invité n'ayant pas de compte PHPfrance

10 nov. 2011, 10:34

ok merci bcp

Invité
Invité n'ayant pas de compte PHPfrance

10 nov. 2011, 11:15

merci je trouve pas ce que je cherche
et oui ses un code que j'ai recuperer
merci a vous

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

10 nov. 2011, 11:53

j'ajouterais qu'il faut que le serveur web ai le droit d'écrire dans le dossier indiqué.

le fichier c:\blabla\fr.xml.z c'est sur la machine cliente ? (celle du gars qui regarde ton site ?) si oui il faut faire un upload du fichier (un input de type file) et ensuite utiliser le code que tu a indiquer

pour ce qui est du script de décompression il s'agit la d'un code prévu pour fonctionner en ligne de commande.
cela ce vois à l'utilisation de la variable $argv qui permet de récupérer les infos fournit en paramètre sur la ligne de commande (voir le lien pour plus d'info).

il te faut donc :
- revoir comment on déclare un formulaire
- voir comment on peu charger un fichier depuis le navigateur client vers ton site oueb (l'upload de fichier via un formulaire dans la doc de php
- utiliser correctement la classe gz_work() que tu indique dans ton code !

je te conseil la lecture des tutos indiqué par xTG c'est la base tu en aura besoin.


@+
Il en faut peu pour être heureux ......

Invité
Invité n'ayant pas de compte PHPfrance

10 nov. 2011, 12:03

ok merci bcp a vous

Invité
Invité n'ayant pas de compte PHPfrance

10 nov. 2011, 13:49

pourriez vous me faire un code example qui marche ?
merci d'avance

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

10 nov. 2011, 15:22

y en a un sur mon site, y en a sur la doc de php que je t'ai indiqué plus haut, il y en a sur le forum et une classe qui fait l'upload fournit par AB dans la section contribution).


@+
Il en faut peu pour être heureux ......

Invité
Invité n'ayant pas de compte PHPfrance

11 nov. 2011, 12:05

merci bcp pour votre aide

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

14 nov. 2011, 12:49

Modération :
Merci d'utiliser les balises [php], [html] ou [code] en fonction du langage utilisé, pour la clareté du message
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer