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

PHP & Base de données Discussion :

Forcer le téléchargement FTP


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 45
    Par défaut Forcer le téléchargement FTP
    J'expose mon problème: Je suis entrain de créer un client FTP en version WEB pour une société qui a besoin de le faire fonctionner sur PC/TABLETTE/SMARTPHONE, la problématique est que je n'arrive pas à forcer le téléchargement des fichiers qui se trouvent sur leur FTP, pour ça il faut qu'une boite de dialogue apparaisse pour donner au client le choix du dossier de destination, or avec le ftp_get, ça télécharge sans avoir la possibilité de choisir le dossier de téléchargement, et avec les headers je suis obligé de passer par ftp://, sauf qu'il y a des smartphones qui n'acceptent pas le protocole ftp.

    Voici une partie de mon code :

    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
    if(!ftp_is_dir($dir))
    				{
    					if (!@filesize($ftp, $dir) == -1)
    					{						
    						//ftp_get($ftp, $local_file, $dir, FTP_BINARY);
     
    						/*$Fichier_a_telecharger = $local_file;
    						$chemin = ftp_get($ftp, $local_file, $dir, FTP_BINARY);
     
    						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-type:force-download'); 
    						header('Content-Disposition: attachment; filename='.$Fichier_a_telecharger); 
    						readfile($chemin);*/
     
    						//echo ("<a href=\"ftp://$login:$pwd@$host:$port/$dir\">Télécharger $dir</a>");
    						/*if (ftp_get($ftp, $local_file, $dir, FTP_BINARY)) 
    						{
    							echo "Le fichier $local_file a été enregistré\n";
    						} else {
    							echo "Il y a un problème\n";
    						}*/
    					}
    				}else
    				{
    					echo ("<a href=\"#\" onclick=\"Rename('".$fichier."')\">Renommer le dossier</a>&nbsp;");
    					echo("<a href=\"#\" onclick=\"confirme('".$fichier."')\">Supprimer</a>&nbsp;");
    					echo("<a href='?fichier=".htmlspecialchars($fichier, ENT_QUOTES, 'ISO-8859-1')."'>$local_file</a>"."<br/>");					
    				}
    Merci à vous !

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    tu l'ouvres en stream ftp coté serveur et tu l'envoie en stream en http pour le client

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    copy('ftp://user:pass@tonserverftp/lefichier', 'php://output');
    ps : pas besoin de l'extension FTP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 45
    Par défaut
    Justement tu as utilisé le protocole ftp, avec le ftp:// . Il y a des smartphones qui ne pourront pas le lire.

    Merci à toi

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par 9-THUG Voir le message
    Justement tu as utilisé le protocole ftp, avec le ftp:// . Il y a des smartphones qui ne pourront pas le lire.

    Merci à toi
    PHP c'est coté serveur pas client ...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 45
    Par défaut
    Ah d'accord, autant pour moi, est ce que c'est possible de me donner un peu plus de précisions sur le code à faire ou un exemple ? car j'ai cherché dans la doc le php://output mais ce n'est pas très bien expliquer et aussi je ne suis pas pro en php, donc je ne sais pas le traitement à faire par la suite.

    Merci à toi

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    y'a aucun traitement a faire juste (et finalement pas besoin de copy)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    header('Content-type:force-download'); 
    header('Content-Disposition: attachment; filename='.$Fichier_a_telecharger); 
    readfile('ftp://user:pass@tonserverftp/lefichier');
    et c'est tout

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/12/2009, 15h20
  2. [PHP-JS] Forcer le téléchargement d'une image JPG
    Par Amnesiak dans le forum Langage
    Réponses: 5
    Dernier message: 09/11/2006, 23h50
  3. Réponses: 2
    Dernier message: 23/03/2005, 08h51
  4. [Windows 2000 server] Téléchargement FTP impossible sous IE6
    Par o151181 dans le forum Windows Serveur
    Réponses: 6
    Dernier message: 24/11/2004, 18h00

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