Partage
  • Partager sur Facebook
  • Partager sur Twitter

enregistrer fichier sur son pc

    20 juillet 2017 à 14:44:05

    Bonjour,

    Sur mon site, je propose différents fichier texte

    J'aimerais proposé à l'utilisateur d'éditer un fichier texte et de l'enregistrer sur son pc.

    J'ai donc récupérer le contenu du fichier texte depuis le serveur et je l'ais mis dans une variable :

    var contenu = '...';

    Je l'affiche ensuite dans un textarea. Ensuite l'utilisateur peut cliquer dans le textarea et modifier le contenu de la variable contenu. Jusqu'à là tout marche et vas bien.

    Mais ensuite, j'aimerais que lorsqu'il clique sur un bouton "Enregistrer", ca enregistrer le contenu de la variable contenu dans un fichier .txt sur son pc

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      22 juillet 2017 à 16:36:55

      Ceci est imposible tu imagine que si un site web pouvais interagir comme ca avec un disque dur ce serai la cata donc impossible à part des fichier sur un server mais il te faudra des connaisance plutot basique du php
      • Partager sur Facebook
      • Partager sur Twitter
        22 juillet 2017 à 16:42:30

        Donc le type écris (j'enregistre ce qu'il écrit dans un variable). Et quand il clique sur telecharger, j'envoie le contenu du fichier au serveur via ajax, le serveur enregistre le contenu dans un fichier, puis je fais télécharger ce fichier au navigateur du client ?
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          22 juillet 2017 à 16:56:58

          Oui mais il faut t'y connaitre
          • Partager sur Facebook
          • Partager sur Twitter
            22 juillet 2017 à 22:57:36

            Pour proposer ke teléchargement de fichiers, il convient d'indiquer au navigateur le mine type du fichier  pour que celui-ci fasse appel au bon navigateur

            Le fichier suivant (nommé uplod.php) assure ce service :

            <?php
            
            	$f='';
            	if (isset($_GET["fch"])) $f=$_GET["fch"];
            
            // déterminer le Mime type $t
            	$e=strtolower(substr(strrchr($f,"."),1));
            		switch($e){
            			case "aiff":case "aifc":
            		  	case "aif": $t="audio/x-aiff"; break;
            			case "asx":
            		  	case "asf": $t="audio/x-ms-asf"; break;
            			case "mpeg":case "mpga":case "mp2":case "mp3":case "mpa":case "mpe":case "miv":case "mpv2":case "mp2v":
            		  	case "mpg": $t="audio/mpeg"; break;
            		  	case "midi":case "rmi":
            		  	case "mid": $t="audio/x-midi"; break;
            		 	case "wav": $t="audio/x-wav"; break;
            		 	case "wma": $t="audio/x-ms-wma"; break;
            			case "avi": $t="video/x-msvideo"; break;
            	  		case "mov": $t="video/quicktime"; break;
            			case "pdf": $t="application/pdf"; break;
            			case "exe": $t="application/octet-stream"; break;
            			case "zip": $t="application/zip"; break;
            			case "doc": $t="application/msword"; break;
            			case "xls": $t="application/vnd.ms-excel"; break;
            			case "ppt": $t="application/vnd.ms-powerpoint"; break;
            			case "rtf": $t="application/rtf"; break;
            			case "gif": $t="image/gif"; break;
            			case "png": $t="image/png"; break;
            			case "jpeg":
            			case "jpg": $t="image/jpg"; break;
            			case "htm":
            			case "html":$t="text/html"; break;
            			default: $t="application/force-download";}
            
            
                	if (file_exists('./'.$f)){
            			$w=filesize('./'.$f);
            			header("Content-Disposition: attachment; filename=\"".$fch."\";" );
            			header("Content-Length: ".$w);
            			header("Pragma: public"); // required
            			header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
            			header("Expires: 0");
            			header("Cache-Control: private",false); // required for certain browsers
            			header("Content-Type: $t");
            			header("Content-Transfer-Encoding: binary");
            			if (readfile('./'.$f)){
            				$jrn.=" Lecture Fichier ".$f.date('Y-m-d H:i:s')." ".$_SERVER['REMOTE_ADDR'];
                        if (isset($_SERVER['HTTP_USER_AGENT'])) $jrn.=' '.strtolower($_SERVER['HTTP_USER_AGENT']);
            				$fch=fopen("journal.txt","a+");fwrite($fch,utf8_decode($jrn.chr(13).chr(10)));fclose($fch);
                        }
            			exit();}
            		else exit('Fichier inexistant sur le serveur');
            ?>

            ¨Pour l'utiliser, il suffir d'inserer le lien suivant dans la page HTML

            <p><a href="upload.php?fch=monFichier.rxt" title="Télécharger ce document (0,2 Mo)">Dexvription du document</a></p>

            NB: Je m'aperçois que cette liste est incomplète. Voir cette page https://developer.mozilla.org/fr/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types

             

            -
            Edité par 007julien 22 juillet 2017 à 23:02:32

            • Partager sur Facebook
            • Partager sur Twitter

            enregistrer fichier sur son pc

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown