CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[HTML] Telechargement de photo

greensheep29
greensheep29
Niveau 9
01 septembre 2007 à 12:14:37

Salut à tous :)
Je voudrais savoir comment faire pour telecharger à partir de mon site une image *.jpg.
Je m´explique :
j´ai une miniature faite en php. J´aimerais que quand on clique dessus, ça telecharge l´image, mais quand je mets :

<a href="photo.jpg><img src="/images/miniatures/photo.jpg"></a>

ça m´affiche l´image et j´aimerais la telecharger mais sans la compresser (Zip-Rar-etc...)

Merci de vos réponses

greensheep29
greensheep29
Niveau 9
01 septembre 2007 à 12:15:44

<a href="photo.jpg"><img src="/images/miniatures/photo.jpg"></a>
J´avais oublié un guillemet :o))

deepblue
deepblue
Niveau 16
01 septembre 2007 à 12:16:46

php en forçant le download.

thymos
thymos
Niveau 9
01 septembre 2007 à 12:17:19

Avec du PHP, en forcant le téléchargement :)

http://www.phpsources.org/scripts62-PHP.htm

greensheep29
greensheep29
Niveau 9
01 septembre 2007 à 12:18:46

Ok, je vais essayer, merci à vous :)

greensheep29
greensheep29
Niveau 9
01 septembre 2007 à 12:26:54

Ma question va parraitre nulle mais je me demande si :

<?php

// reconnait l´extension pour que le téléchargement
// corresponde au type de fichier afin d´éviter les erreurs de corruptions

switch(strrchr(basename($Fichier_a_telecharger), ".")) {

case ".gz": $type = "application/x-gzip"; break;
case ".tgz": $type = "application/x-gzip"; break;
case ".zip": $type = "application/zip"; break;
case ".pdf": $type = "application/pdf"; break;
case ".png": $type = "image/png"; break;
case ".gif": $type = "image/gif"; break;
case ".jpg": $type = "image/jpeg"; break;
case ".txt": $type = "text/plain"; break;
case ".htm": $type = "text/html"; break;
case ".html": $type = "text/html"; break;
default: $type = "application/octet-stream"; break;

}

header("Content-disposition: attachment; filename=$Fichier_a_telecharger");
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: $type\n"); // ne pas enlever le \n
header("Content-Length: ".filesize($chemin . $Fichier_a_telecharger));
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");
readfile($chemin . $Fichier_a_telecharger);

?>

J´ai que du *.jpg, je peux supprimer les autres ?

thymos
thymos
Niveau 9
01 septembre 2007 à 12:49:05

Biensur :-)))

Mais alors vire tous le haut et remplace

header("Content-Transfer-Encoding: $type\n"); // ne pas enlever le \n

par

header("Content-Transfer-Encoding: image/jpeg");

greensheep29
greensheep29
Niveau 9
01 septembre 2007 à 13:12:08

Ok merci :-)))

greensheep29
greensheep29
Niveau 9
01 septembre 2007 à 13:16:14

Encore une question :-p

Je sais qu´il faut mettre les headers en début de page.
Mais la ligne readfile($chemin . $fichier_a_telecharger);
se trouve du coup avant la définition de variable !
Sinon j´ai un message d´erreur pour les lignes suivantes :

header("Content-disposition: attachment; filename=$fichier_a_telecharger");
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: image/jpeg");
header("Content-Length: ".filesize($chemin . $fichier_a_telecharger));
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");

Message => Warning: Cannot modify header information

Merci :)

thymos
thymos
Niveau 9
01 septembre 2007 à 13:19:54

Faut faire une page genre download.php?file=... comme ca tu as le get pour le fichier :)

greensheep29
greensheep29
Niveau 9
01 septembre 2007 à 13:23:13

Et mon header je le mets dans la page download.php ?
Et ma page download dans le dossier /images/jpeg/ ?

thymos
thymos
Niveau 9
01 septembre 2007 à 13:32:11

Non, enfin tu fais une page donwload.php?file=chemin/image.jpg

Tu fou les header avec le $_GET comme fichier :-)))

greensheep29
greensheep29
Niveau 9
01 septembre 2007 à 13:34:35

En gros je fais ça :
<a href="download.php?file=chemin/image.jpg">
<img src="img.jpg"> (La miniature)
</a>

et je fout les headers dans la page download c´est ça ?

thymos
thymos
Niveau 9
01 septembre 2007 à 13:41:08

Wé, mais adapt bien les headers sur la pages download :)

greensheep29
greensheep29
Niveau 9
01 septembre 2007 à 13:43:26

Ca marche, mais y´a rien dans mon fichier image :(

greensheep29
greensheep29
Niveau 9
01 septembre 2007 à 13:44:50

Et comment ça adapte bien les headers ?

thymos
thymos
Niveau 9
01 septembre 2007 à 13:53:07

En php, récupere la taille de l´imagpour l´indiquer dans la bonne lgine des header, c´est ca quand je dis adapter :)

greensheep29
greensheep29
Niveau 9
01 septembre 2007 à 13:55:00

Comment on fait :rouge: ? :o))

greensheep29
greensheep29
Niveau 9
01 septembre 2007 à 13:55:50

Ah si comme ça ? $_FILES[´file´][´size´];

greensheep29
greensheep29
Niveau 9
01 septembre 2007 à 14:06:00

Je galere :hum:

Tu peux me dire mes erreurs stp ?

<?php
$chemin = "../images/jpeg/";
$filesize = $_FILES[´fichier´][´size´];
$filename = $_FILES[´file´][´name´];
$filetype = $_FILES[´file´][´type´];

$fichier_a_telecharger = $filename.$filetype;
header("Content-disposition: attachment; filename=$filename");
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: image/jpeg");
header("Content-Length: ".$filesize($chemin . $fichier_a_telecharger));
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");
readfile($chemin . $fichier_a_telecharger);
?>

Merci

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment