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 :

après le téléchargement d'un fichier avec php


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Août 2015
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2015
    Messages : 40
    Points : 55
    Points
    55
    Par défaut après le téléchargement d'un fichier avec php
    Bonjour à tous

    Voici le code que j'utilise pour provoquer le téléchargement d'un fichier,
    cela fonctionne parfaitement....


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
     
    define('CHEMIN', dirname(__FILE__).'/upload/');
     
    function telecharger($fichier){
    	if(file_exists(CHEMIN.$fichier)){
    		print_r(filesize(CHEMIN.$fichier));
    		header('Content-Type: application/octet-stream');
    		header('Content-Length: '.filesize(CHEMIN.$fichier));
    		header('Content-Disposition: attachment; filename='.$fichier);
    		readfile(CHEMIN.$fichier);
    	}
     
    }
    petite précision : ce code se trouve sur une page php inclu dans ma page html

    Mon problème se trouve sur la page html.... j'ai un formulaire... là non plus rien de surprenant et pendant le traitement et le retour du formulaire, l'appel de telercharger() se produit.... et puis plus rien ...
    comme si il n'y avait pas de retour de mon traitement... or le traitement s'effectue de la même manière fichier présent ou pas....
    en gros je n'arrive pas à exécuter du code une fois le téléchargement fini.... une idée ???
    merci bcp

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 241
    Points
    20 241
    Par défaut
    Si ton téléchargement est long il est normal qu'il ne se passe rien le temps qu'il soit fini readfile étant bloquant.

    Par contre une fois le téléchargement terminé , ton code devrait s’exécuter.

  3. #3
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Août 2015
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2015
    Messages : 40
    Points : 55
    Points
    55
    Par défaut
    Merci grunk pour ta réponse, mais le fichier se télécharge correctement, je peux l'ouvrir depuis le dossier telechargements....
    Par contre autre info peut être utile, j'utilise un framework, zend en zf1 pour la configuration....

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 241
    Points
    20 241
    Par défaut
    Peux tu afficher le code qui pose problème et qui fait appel telecharger() ?

    ZF n'a apriori rien à voir la dedans

  5. #5
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header('Content-Disposition: attachment; filename='.$fichier);
    readfile(CHEMIN.$fichier);
    Logiquement, apres un tel code, tu peux faire quelques traitements (compteurs de téléchargement...) mais ceci dit, n'importe quoi qui afficherait du code corromprait le fichier (ajouter du contenu à la suite du fichier);

    pense à bien sécuriser ta variable $fichier sinon tu peux offrir à l'utilisateur de télécharger une page arbitraire (contenant des mots de passes ... ) avec des "../index.php" et des "....//index.php" ou des "../../index.php".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    print_r(filesize(CHEMIN.$fichier));
    header('Content-Type: application/octet-stream');
    header('Content-Length: '.filesize(CHEMIN.$fichier));
    le print_r n'est là que pour le débug, n'est ce pas? Il est toujours interdit d'afficher quelque chose avant header().

  6. #6
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Août 2015
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2015
    Messages : 40
    Points : 55
    Points
    55
    Par défaut
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    <?php
    	include_once("admin.session.inc.php");
    	include_once($_SERVER['DOCUMENT_ROOT'] . "/class/webcom.class.php");
    	include dirname(__FILE__).'/telecharger.php';
     
    	if(!in_array($session_administrateur->login, array('******'))) { exit; }
     
    	$base = 1;
    	$xml = "";
    	$xmlFile = "";
    	$action =
    	$unload = false;
    	$dossier = dirname(__FILE__).'/upload';
    	if (isset($_POST['action_webcom'])) {
    		$tp1 = microtime(true);
    		if(isset($_FILES['fichier'])){
    			if($_FILES['fichier']['error'] != 4){
    				$file = base64_encode(file_get_contents($_FILES['fichier']['tmp_name']));
    				$xmlFile .= "<fichier><nom>".$_FILES['fichier']['name']."</nom><contenu>".$file."</contenu></fichier>";
    			}
    		}
    		if($_POST['action_webcom'] == 'wcBAm' ) {
     
    			$base = filter_input(INPUT_POST, 'base', FILTER_SANITIZE_NUMBER_INT);
    			$action = filter_input(INPUT_POST, 'nom_action', FILTER_SANITIZE_STRING);
    			$xml = filter_input(INPUT_POST, 'xml');
    			$unload = filter_has_var(INPUT_POST, 'unload');
    			$xmlQ = '<?xml version="1.0" encoding="UTF-8"?><actions><action>';
    			$xmlQ .= '<base>'.$base.'</base>';
    			$xmlQ .= "<name>$action</name>";
    			$xmlQ .= '<data><params>';
    			$xmlQ .= $xml;
    			$xmlQ .= $xmlFile;
    			$xmlQ .= '</params></data>';
    			$xmlQ .= '</action></actions>';
    			$wb = new webcom();
    			if ($unload) {
    				$wb->setDocumentXml('<?xml version="1.0" encoding="UTF-8"?><actions><action>'
    					. "<base>$base</base>"
    					. "<name>!unloadscripts</name>"
    					. '<data></data></action></actions>');
    				$resultat = $wb->socket();
    			}
    			$wb->setDocumentXml($xmlQ);
    			$tp2 = microtime(true);
    			$resultat = $wb->socket();
    			$tp3 = microtime(true);
    			$xmlQ = new DOMDocument();
    			$xmlQ->loadXML($resultat['data']);
    			$xmlQ->formatOutput = TRUE;
    			$donnee = simplexml_load_string($xmlQ->saveXML());
    			if(isset($donnee->data->fichier)){
    				$full_path = $dossier.'/'.$donnee->data->fichier->nom->__toString();
    				$file_name = basename($full_path);
    				file_put_contents($full_path, base64_decode($donnee->data->fichier->contenu->__toString()));
    				telecharger($file_name);
    				$donnee = simplexml_import_dom($xmlQ);
    				$donnee->data->fichier->contenu = 'Voir le fichier';					
    			}
    		}
     
    		$tp4 = microtime(true);
    		$resTps = round($tp4 - $tp1,5);
    	}
     
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    		<meta http-equiv="Content-language" content="fr" />
    		<title>Page de test</title>
    		<link type="text/css" rel="stylesheet" href="/css/style.css" />
    		<style>
    			label { display: inline-block; width: 300px;  }
    			form p * { vertical-align: top; }
    			textarea { width: 800px; height: 350px;}
    		</style>
    	</head>
    	<body>
    	<div id="page">
    		<img src="/images/images.jpg" alt="" id="logo" />
    		<?php include("templates/admin.menu.php"); ?>
     
    		<h1>Page de testr</h1>
    		<div id="liste">
    			<?php if (in_array($session_administrateur->login, array('*****')) && isset($_GET['webcom'])): ?>
    			<h2>Test </h2>
    			<form action="" method="post" enctype="multipart/form-data"/>
    				<p><label for="nom_action">Action </label> : <input type="text" name="nom_action" value="<?=$action;?>" /></p>
    				<p><label for="base">Base</label> : <input type="number" name="base" value="<?=$base;?>" required /></p>
    				<p><label for="fichier">Fichier</label> : <input type="file" name="fichier" /></p>
    				<input type="hidden" name="MAX_FILE_SIZE" value="200000"/>
    				<p class="textXml"><label for="xml">Xml nœud &lt;data&gt;</label> : <textarea name="xml"><?=$xml;?></textarea></p>
     
    				<p><label for="unload">Décharger les scripts avant d’executer l’action</label> <input type="checkbox" name="unload" value="unload"<?=($unload)?'checked':'';?> /></p>
    				<p><button type="submit" name="action_webcom" value="wcBAm">Appel Webcom</button></p>
    			</form>
     
    			<?php	
    				if(isset($donnee)){
    					echo '<br><br>';
    					echo '<h2>Réponse : '.$donnee->status.' - durée script : '.$resTps.' - durée 2 : '.round($tp3-$tp2,5).'</h2>';
    					echo '<pre><code>'.htmlentities($xmlQ->saveXML()).'</code></pre>';
    				}
    			?>
     
    			<?php else: ?>
    			<p>Aucun paramètres détéctés</p>
    			<?php endif; ?>
     
    		</div>
     
    	</div>
    	</body>
    </html>
    voilà pour le code html grunk ....

    gene69 oups !! oui le print_r n'est là que pour le débug .... j'ai juste oublié de l'enlever.....

    et donc mon problème est que la partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php	
    				if(isset($donnee)){
    					echo '<br><br>';
    					echo '<h2>Réponse : '.$donnee->status.' - durée script : '.$resTps.' - durée 2 : '.round($tp3-$tp2,5).'</h2>';
    					echo '<pre><code>'.htmlentities($xmlQ->saveXML()).'</code></pre>';
    				}
    			?>
    Ne s'execute pas lorsque je télécharge un fichier, alors qu'elle est exécuté lorsque je ne reçoit pas de fichier.... certains vont peut être me dire que l'absence de rechargement de la page en ai la raison mais j'ai besoin des valeurs sauvegardées dans mon objet $donnee.....
    une idée ?

  7. #7
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 241
    Points
    20 241
    Par défaut
    Si tu fait un var_dump($donnee) après l'appel à telecharger() as tu un retour ?

    Ce qui me gère avec ton code c'est que telecharger() va définir des entête à renvoyer au navigateur , mais qu'ensuite tu souhaite afficher ton formulaire qui lui ne nécessite pas d'entête particulière.

    Comme le dit gene69 après un readfile , on affiche en principe rien.
    As tu vérifié le contenu de ton fichier téléchargé ?

  8. #8
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Août 2015
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2015
    Messages : 40
    Points : 55
    Points
    55
    Par défaut
    Alors oui j'ai bien vérifié le contenu de mon fichier, avant que je ne crée cette discution, j'ai eu plusieurs problèmes dont celui-ci, mon fichier quoi que bien formaté avec les bonnes données sur le serveur, lorsque je le téléchargeais, il arrivait mal encodé et lorsque je l'éditais avec nodepad++, il y avait une injection de mon code html dans mon fichier....

    après un readfile , on affiche en principe rien.... ok j'en prends note pour modifier et/ou repenser mon code....

    soucis .... après telecharger() il ne se passe plus rien....

  9. #9
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    salut

    je suis toujours pas d'accord avec ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $file_name = basename($full_path);
    file_put_contents($full_path, base64_decode($donnee->data->fichier->contenu->__toString()));
    telecharger($file_name);
    /****/
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    	<head>
    tu cherches à proposer un fichier en téléchargement oubien tu veux l'afficher dans le flux xml ????? tu peux pas avoir les deux, il te faut une page pour le xml, une page pour fichier.

    si je lis ton code correctement, tu jouer de façon valable la fonction télécharger(), (pas d'erreur header already sent)
    le header suivant est transmit au navigateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Content-Disposition: attachment; filename='.$fichier);
    quand tu fais ça, ton navigateur pense que toute la suite du document c'est le fichier à télécharger, que ce soit une succession de contenu binaire ou du html.
    d'ou
    il y avait une injection de mon code html dans mon fichier.
    la particularité de dire "content-disposition: attachment" c'est que ton navigateur ne va pas redessiner l'écran, il va juste ouvrir la popup "enregistrer sous".
    si tu veux afficher un formulaire et un téléchargement, tu commences par afficher un formulaire puis dans un 2e temps tu fais une requête pour le téléchargement. Dit autrement, si ta page de départ est blanche, elle reste blanche.

    comment faire les deux automatiquement, aucune idée, je regarderai du coté de meta-refresh mais je suis pas sur que ça marche.

    pour toi ça pourrais être très utile de regarder ce qu'il se passe entre ton navigateur et le serveur avec l'inspecteur réseau, pour voir les entetes http de chaques pages. (firefox: Ctrl+Maj+Q)

  10. #10
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Août 2015
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2015
    Messages : 40
    Points : 55
    Points
    55
    Par défaut
    Bonjour à tous

    Alors gene69, ce que je cherche à faire....

    exactement je fais un appel webcom qui me retourne une réponse en xml et cette réponse contient entre autres un noeud fichier contenant ou pas le nom et le contenu du fichier encodé en base 64, le contenu est juste une chaine.
    Je récupère le contenu pour créer un fichier, décode le contenu que ajoute au fichier sur le serveur.
    je ne souhaite pas afficher le fichier dans le flux mais lorsqu'il est présent le proposer au téléchargement .... mais le fichier n'est qu'une partie de la réponse que j'obtiens, je dois aussi pouvoir afficher le reste de la réponse .

    J'espère être compréhensible....

  11. #11
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Août 2015
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2015
    Messages : 40
    Points : 55
    Points
    55
    Par défaut
    Et gene69

    tu dis
    je suis toujours pas d'accord avec ça
    Es ce que tu parles du code html qui ne respect pas les normes de html5 ?
    ou pour autre chose que je ne vois pas ....

  12. #12
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 241
    Points
    20 241
    Par défaut
    Il parle du fait qu'après telecharger() tu ne peux pas afficher de l'html. Car comme dit précédemment tu demande à ton navigateur de se mettre en mode "téléchargement" , il ne peut donc pas en même temps afficher.

    Tu dois forcément passer par 2 requêtes (http) différentes.

    La solution simple serait de déclencher le téléchargement sur l'appuis d'un bouton plutôt que directement sans l'avis de l'utilisateur.
    De cette facon tu affiche ton html avec les infos que tu veux. Mais tu y rajoute un bouton qui permet de déclencher le téléchargement de fichier , et rien d'autre.

  13. #13
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Août 2015
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2015
    Messages : 40
    Points : 55
    Points
    55
    Par défaut
    Merci grunk d'avoir joué au traducteur...je vais voir cette solution....

  14. #14
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Août 2015
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2015
    Messages : 40
    Points : 55
    Points
    55
    Par défaut
    Bon ben voila diviser pour mieux régner !!!!! n'est ce pas ?

    J'ai donc modifié mon fichier telecharger.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
     
    <?php
     
    if (!isset($_GET['f']) || empty($_GET['f'])) {
    	header('Location:/******/');
    	exit;
    }
     
    define('CHEMIN', dirname(__FILE__).'/upload/');
     
    if(strip_tags($_GET['f'])){
    		if(file_exists(CHEMIN.$_GET['f'])){
    		header('Content-Type: application/octet-stream');
    		header('Content-Length: '.filesize(CHEMIN.$_GET['f']));
    		header('Content-Disposition: attachment; filename='.$_GET['f']);
    		readfile(CHEMIN.$_GET['f']);
    	}
    }
    et pour ma page html....
    ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $file_name = basename($full_path);
    file_put_contents($full_path, base64_decode($donnee->data->fichier->contenu->__toString()));
    telecharger($file_name);
    /****/
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    est devenu ....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    file_put_contents($full_path, base64_decode($donnee->data->fichier->contenu->__toString()));
    				$donnee = simplexml_import_dom($xmlQ);
    				$donnee->data->fichier->contenu = 'Voir le fichier '.$donnee->data->fichier->nom;
    			}
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    et pour l'appel du telechargement je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(isset($donnee->data->fichier)){
    	echo '<form name="x" action="telecharger.php?f='.$donnee->data->fichier->nom.'" method="post"><input type="submit" value="Télécharger le fichier" /></form>';
    }
    dans l'affichage de la réponse.....

    Et cela fonctionne parfaitement, j'avais déjà utilisé cette méthode mais je ne voulais pas passer par un bouton ou un formulaire.... mais sa fonctionne parfaitement, je peux télécharger et j'ai l'affichage de ma réponse.
    Donc un grand merci à vous Gene69 et Grunk !!!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème d'envoi de fichiers avec php
    Par legentil dans le forum Windows
    Réponses: 6
    Dernier message: 16/11/2007, 11h11
  2. Réponses: 3
    Dernier message: 05/09/2007, 09h52
  3. Réponses: 5
    Dernier message: 10/05/2007, 11h54
  4. Modification attributs d'un fichier avec PHP
    Par zetta dans le forum Langage
    Réponses: 1
    Dernier message: 03/07/2006, 11h55
  5. Comment forcer le téléchargement d'un fichier avec IE.
    Par karibouxe dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 24/05/2006, 11h51

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