Ouvrir n'importe quel fichier via php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Ouvrir n'importe quel fichier via php

par zeus » 05 juin 2007, 09:30

Bon, ca va .. je suis désolé...
J'écrirais pu cette expression.
Au contraire, cette utilisation aura permis de lancer un petit débat de l'utilisation de cette expression. C'est toujours intéressant ;)

par kpn59 » 05 juin 2007, 08:54

Bon, ca va .. je suis désolé...
J'écrirais pu cette expression.

par Sékiltoyai » 04 juin 2007, 18:09

L'un est tout de même plus académique que l'autre...

par zeus » 04 juin 2007, 17:43

Certes, l'utilisation "basique" est "Au temps pour moi", sauf que si vous lisez mon lien, qui est également disponible dans l'article cité par Hubert, vous verrez, qu'il est également possible d'utiliser "Autant pour moi" de la même manière.

Il n'y a donc pas à avoir un débat sur l'utilisation de l'un ou l'autre ... ils s'utilisent de la même manière ;)

par Sékiltoyai » 04 juin 2007, 17:35

Un peu hors-sujet mais quand même : au temps pour moi
Je confirme...

par kpn59 » 04 juin 2007, 14:21

Grand débat :)

Autant pour moi ou Au temps pour moi ?

Désolé mais je l'ai toujours écrit comme sa.
Je ferai plus attention la prochaine fois

par zeus » 04 juin 2007, 11:49

selon ton article Hubert, j'ai trouvé ça : autant pour moi ;)

par Hubert Roksor » 04 juin 2007, 11:26

Un peu hors-sujet mais quand même : au temps pour moi

par kpn59 » 04 juin 2007, 10:40

autant pour moi :? :roll:

par Sékiltoyai » 04 juin 2007, 09:40

ps : j'ai donc abandonné les composants COM
De toute facon, les composants COM te permettent d'utiliser les logiciels sur le serveur, pas sur le client...

par kpn59 » 04 juin 2007, 09:32

Voici donc le code nécessaire pour ouvrir une archive ZIP et un document pdf.

   header("content-type: application/zip");
   //header("Content-Disposition: inline; filename=selection.zip"); //force le téléchargement
   header("Content-Disposition: attachment; filename=selection.zip"); //laisse le choix à l'utilisateur
   header("Content-Transfer-Encoding: binary");
   header('Cache-Control: no-store, no-cache, must-revalidate');
   header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
   header('Pragma: public');
   header("Expires: 0");


header('Content-type: application/pdf');
header('Content-Disposition: inline; filename=doc.pdf');
header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: pre-check=0, post-check=0, max-age=0');
header('Pragma: anytextexeptno-cache', true);
header('Cache-control: private');
header('Expires: 0');

par kpn59 » 04 juin 2007, 09:12

Merci beaucoup jpaul, ça marche à merveille, je vais maintenant chercher à etendre les applications afin d'ouvrir d'autres types de fichiers.

Merci à tous, plus particulièrement à jpaul :wink:

ps : j'ai donc abandonné les composants COM
et je posterai des headers pour d'autres applications (si je trouve ;) )

par jpaul » 01 juin 2007, 17:27

Donc voici un exemple qui t'affiche la liste des fichiers du répertoire courant dans un select.
Si tu mets dans le même répertoire des fichiers '.xls', '.pps', ou '.doc', tu peux les choisir et le programme envoie l'header correspondant et le fichier ce qui a pour effet de l'ouvrir dans la bonne application sur la station.
<?php

function send_header () {
print "<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">";
print "<html>";
print "<head>";
print "   <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">";
print "<META HTTP-EQU=\"pragma\" CONTENT=\"no-cache\"> ";
print "<META HTTP-EQU=\"Cache-Control\" CONTENT=\"no-cache\"> ";
print "<META HTTP-EQUIV=\"Expires\" CONTENT=\"Tue, 20 Aug 1996 14:25:27 GMT\"> ";
print "   <meta name=\"Generator\" content=\"Microsoft Word 97\">";
print "   <meta name=\"Template\" content=\"C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot\">";
print "   <meta name=\"GENERATOR\" content=\"Mozilla/4.7 [en] (Win98; I) [Netscape]\">";
print "   <title>test</title>";
print "</head>";
print "<body link=\"#0000FF\" vlink=\"#800080\">";
}

function send_footder () {
print "</body>";
print "</html>";
}

if (!$_POST["FILE"]) {

send_header();
?>
<form action="<?php $_SERVER["PHP_SELF"]?>"  method="post" name="formulaire">
<?php
    if ($dh = opendir(".")) {
	echo "<SELECT NAME=FILE>";
        while (($file = readdir($dh)) !== false) {
            //echo "fichier : $file : type : " . filetype($dir . $file) . "\n";
			echo "<OPTION>$file</OPTION>";
        }
        closedir($dh);
	echo "</SELECT>";
	echo "<BR>";
	echo "<INPUT TYPE=SUBMIT>";
    }

?>
</form>
<?php

send_footder();
}
else {
$FILE=$_POST["FILE"];
$extension=strrchr($FILE,'.');
//send_header();
//echo "<BR> Il faut afficher ".$FILE."<BR>";
switch ($extension) {
	case ".xls" :
	$app="vnd.ms-excel";
	//echo "fichier excel";
	break;
	case ".pps" :
	$app="vnd.ms-powerpoint";
	//echo "fichier powerpoint";
	break;
	case ".doc" :
	$app="msword";
	//echo "fichier word";
	break;
	default :
	//echo "fichier de type inconnu";
	break;
}
if ($app != "") {
	header ("Content-type: application/".$app);
	readfile($FILE);
	}
	else {
		send_header();
			echo "Le document : ".$FILE." est de type inconnu...";
		send_footder();
	}

//send_footder();
}

?>

par jpaul » 01 juin 2007, 16:02

J'avais compris que tu voulais ouvrir et modifier le fichier avec PHP mais si tu veux simplement ouvrir un fichier avec la bonne application, tu n'as pas besoin des composants COM.
J'ai déjà fait ça avec un fichier xls, ça doit être possible avec les autres.

Je vais rechercher...

par kpn59 » 01 juin 2007, 14:12

Bonjour.
En effet, cela ne peux guère m'aider parce que les fichiers excel que je crées sont à contenu variable. Etant en stage, je ne peux demander aux utilisateurs du site de creer leur document xls via du code php.

Merci quand même de ce post. Je pense que cela peut m'aider à utiliser les composants COM.
Si j'arrive à mes fins (espérons ;) ) , je posterai mon script.

Merci à tous. :D