begin process at 2012 05 27 20:34:55
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > TELECHARGER

TELECHARGER


 Information sur la source

Note :
9,5 / 10 - par 4 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichier / Disque Niveau :Initié Date de création :15/12/2004 Vu / téléchargé :14 079 / 2 748

Auteur : ded38fr

Ecrire un message privé
Site perso
Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note

 Description

Le script telecharger.php permet de proposer aux visiteurs de votre site de télécharger un fichier.
En effet, par défaut, si vous souhaitez, par exemple, proposer de télécharger une image JPG dans un lien, celle-çi s'ouvre automatiquement dans le navigateur du visiteur, sans proposer de boite de téléchargement.
Ce script permet de palier à ceci.


 Conclusion

Afin d'éviter que des petits malins utilisent ce script afin de télécharger les pages PHP de votre site (et en voir les sources), j'ai protégé le script, dans le sens où il suffit de parametrer les extentions des fichiers que l'on souhaite autoriser au téléchargement.
Il est également possible de logguer les tentatives frauduleuses d'accès au script, en positionant une variable à l'interieur du script.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip OBTENIR RAPIDEMENT LES STATISTIQUES DE CONNEXION ISSUES DE P...
Source avec Zip FETE DU JOUR (SANS BASE DE DONNÉES)

 Sources de la même categorie

SUPPRESSION AUTOMATIQUE DES FICHIERS RAW ORPHELINS APRÈS UN ... par malokaff
UPLOADER DES FICHIER DANSUN DOSSIER, SÉCURISÉ AVEC MOT DE PA... par raizzo
COMPTEUR DE VISITES SUR FICHIER par pierreSabatier
FONCTION RECURSIVE DE DOSSIERS par tefa24600
Source avec Zip CONVERSION DES UNITÉS INFORMATIQUE (O, KIO, MIO, GIO, TIO...... par genetApt151

Commentaires et avis

Commentaire de ded38fr le 15/12/2004 15:04:57

Pour plus d'infos sur ce script, vous pouvez visiter mon site: http://www.jerome-desmoulins.new.fr

Commentaire de stepibou le 15/12/2004 22:57:50

hello ded38fr,

sympa ton job!

je l'ai adapté à un explorateur.

par contre, niveau protection, permet moi d'en douter,
il suffit d'ecrire directement l'adresse du fichier pour y avoir acces.
mais je n'ai pas de solution, etant moi non plus pas tres
fort en protection.
Et pas tres fort en php, par rapport aux possibilités de ce language, comme tu l'as noté dans ton site.
restons modeste.

bon à tchao.

encore bien ton site!

Commentaire de kankrelune le 18/12/2004 23:51:00

Bah moi je le trouve interessant mais étant une brele en php j'ais encore du mal à comprendre comment le faire fonctionner... je sais j'ais surement dit une grosse bétise là... mais bon... que voulez vous... on se refait pas... muarf... .. . :oP

Par contre coté sécu c'est mitigé puisqu'un simple clic droit "enregistrer sous" permet de rapatrier le fichier... .. . :oS

Mais de toute façon je n'aurais pô fait mieux... .. . :oD

@ tchaOo°

Commentaire de wisal le 19/12/2004 23:20:26

en fait c'est un code pas mal mais il ya toujours le mieu

Commentaire de frankydan le 20/12/2004 20:24:30

Bonjour,

Suggestion pour la sécurité en téléchargement.
Il sufit d'interdire l'accèes aux répertoires contenant les scripts et les données ou de donner uniquement accès aux répertoires désirés.

Ex:
// *** En appelant ton PHP, tu dois fournir le chemin de celui-ci  ( ...php?fichier=/images/x.jpg ).
// tableau des interdictions ou permissions
$repertoires = array("/images", "/code/xyz");

$chemin = dirname($fichier);
$trouver = array_search($chemin, $repertoire);

// INTERDICTIONS :
if ( $trouver == null || $trouver === FALSE ) {
    // fonction de téléchargement
}
else {
    // Message d'erreur...
    exit();
}

// OU PERMISSIONS
if ( $trouver == null || $trouver === FALSE ) {
    // Message d'erreur...
    exit();
}
else {
    // fonction de téléchargement
}


Bye.

Commentaire de samsouma le 12/01/2006 11:04:21

C'est un code simple et efficace, merci!

Commentaire de sparklegamer le 16/01/2006 07:29:09

Salut, j'ai téléchargé la source mais je ne sais pas comment mettre un fichier en téléchargement.

Commentaire de manouille le 10/02/2006 09:08:50

Est ce que ce script permet le téléchargement de plusieur fichier simultanément ?
C'est dire je clique sur un lien, je télécharge le fichier qui lui est attaché (disons un zip de 200 Mo) et pendant ce temps est ce que je peux téléchargé un deuxieme fichier, etc ...

Je cherche le moyen de faire ca depuis 4 mois.

ps : inutile de me dire de faire un clic droit sur le lien et de faire enregistrer sous, je souhaite passser par un fichier php qui lui enverra le téléchargement comme celui de cette source.

Merci

Commentaire de chino18 le 08/03/2006 11:28:33

Salut!
Un petit soucis:
Depuis la boîte de téléchargement, l'ouverture du fichier de fonctionne pas.
Cela dit l'enregistrement s'effectue dans problème.

A quoi cela est-il dû?

Commentaire de tennisman59 le 16/05/2006 13:55:01

salut

Après avoir télécharger mon fichier. J'ouvre mon fichier et il m'affiche :

<br />
<b>Warning</b>:  filesize(): Stat failed for QUESTIONNAIRE_LOGISTIQUE.doc (errno=2 - No such file or directory) in <b>d:\program files\easyphp1-8\www\site\telecharger.php</b> on line <b>53</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at d:\program files\easyphp1-8\www\site\telecharger.php:53) in <b>d:\program files\easyphp1-8\www\site\telecharger.php</b> on line <b>53</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at d:\program files\easyphp1-8\www\site\telecharger.php:53) in <b>d:\program files\easyphp1-8\www\site\telecharger.php</b> on line <b>54</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at d:\program files\easyphp1-8\www\site\telecharger.php:53) in <b>d:\program files\easyphp1-8\www\site\telecharger.php</b> on line <b>55</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at d:\program files\easyphp1-8\www\site\telecharger.php:53) in <b>d:\program files\easyphp1-8\www\site\telecharger.php</b> on line <b>56</b><br />
<br />
<b>Warning</b>:  readfile(QUESTIONNAIRE_LOGISTIQUE.doc): failed to open stream: No such file or directory in <b>d:\program files\easyphp1-8\www\site\telecharger.php</b> on line <b>57</b><br />

au lieu du contenu convenu.

Quelqu'un aurai-t-il la solution

Merci d'avance

Commentaire de tennisman59 le 16/05/2006 13:55:31

sinon je programme est super

Commentaire de brayannn59 le 02/08/2006 15:14:59

Est ce que ce code peut fonctionner en local ?

Commentaire de stepibou le 02/08/2006 20:33:29

Oui, tu peux bien sure.

=> A kankrelune :

Ha, ce vieux flashback! tu avais moins d'assurance à l'epoque!
On est peut-etre pas encore des cadors, mais on aurra quand bien progressé depuis tout ce temps,

un petit peu grace a ce site : donc, merci phpcs et sa communauté!

a+

Commentaire de kankrelune le 02/08/2006 20:42:41

;o)

Et surtout merci à php.net et sa doc... .. .

@ tchaOo°

Commentaire de gelcoat le 31/10/2006 19:00:32

salut!!
je ne sais pas du tout comment on le fait marcher!!
je suis nul !!
Peut tu m aider stp!!
merci

Commentaire de litoriax le 06/08/2007 21:55:27

Salut, j'ai eu le même problème que tennisman59 et je l'ai résolu en remplacant la fin par:

$taille=filesize($fichier);
$nomfichier=basename($fichier);
  header("Content-Disposition: attachment; filename=".$nomfichier);
  header("Content-Type: application/force-download");
  header("Content-Transfer-Encoding:".$type."\n"); // Surtout ne pas enlever le \n
  header("Content-Transfer-Encoding:binary");
  header("Content-Length: ".taille);
  header("Pragma: public");
  header("Expires: 0");
  header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  header("Cache-Control: public");
  header("Content-Description: File Transfer");


Commentaire de litoriax le 06/08/2007 21:56:37

pour envoyer un .doc, le type est : "application/msword"

et les différends types sont:
[textes]
txt = text/plain
htm = text/html
html = text/html
css = text/css

[images]
png = image/png
gif = image/gif
jpg = image/jpeg
jpeg = image/jpeg
bmp = image/bmp
tif = image/tiff

[archives]
bz2 = application/x-bzip
gz = application/x-gzip
tar = application/x-tar
zip = application/zip

[audio]
aif = audio/aiff
aiff = audio/aiff
mid = audio/mid
midi = audio/mid
mp3 = audio/mpeg
ogg = audio/ogg
wav = audio/wav
wma = audio/x-ms-wma

[video]
asf = video/x-ms-asf
asx = video/x-ms-asf
avi = video/avi
mpg = video/mpeg
mpeg = video/mpeg
wmv = video/x-ms-wmv
wmx = video/x-ms-wmx

[xml]
xml = text/xml
xsl = text/xsl

[microsoft]
doc = application/msword
rtf = application/msword
xls = application/excel
pps = application/vnd.ms-powerpoint
ppt = application/vnd.ms-powerpoint

[adobe]
pdf = application/pdf
ai = application/postscript
eps = application/postscript
psd = image/psd

[macromedia]
swf = application/x-shockwave-flash

[real]
ra = audio/vnd.rn-realaudio
ram = audio/x-pn-realaudio
rm = application/vnd.rn-realmedia
rv = video/vnd.rn-realvideo

[autres]
exe = application/x-msdownload
pls = audio/scpls
m3u = audio/x-mpegurl

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales