[EDIT]executer une commande unix de php

Eléphant du PHP | 288 Messages

15 sept. 2009, 21:11

Désolé, j'étais en déplacement.

Je vais tester ton bout de code et te revenir avec une réponse sous peu.

Eléphant du PHP | 288 Messages

21 sept. 2009, 05:14

Désolé du retard,

J'ai testé et non ça marche vraiment pas donc je crois que readfile avec fichier de plus de 2Go ca marche pas.

le code test.

        header('Content-disposition: attachment; filename="' . $titre . '"');
	header("Content-Type: application/octet-stream");
	header('Content-Transfer-Encoding: binary');//octet-stream
	header('Content-Length: '.$size);
	header('Pragma: no-cache');
	header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
	header('Expires: 0');

	ob_clean();
        flush();
	readfile($path);//tester avec fichier de 8Go et 4Go


ViPHP
ViPHP | 2287 Messages

21 sept. 2009, 12:24

Pour revenir à l'alternative header/Location :
Ouais j'y avais pensé mais cette solution ne m'arrange pas parce qui si le navigateur à un plugin d'installé qui prend en charge l'extension du fichier alors il va l'ouvrir alors que moi je veux forcer le téléchargement.

Merci quand même.
Si le navigateur est configuré pour traiter le fichier de façon spéciale, alors c'est ce que souhaite l'utilisateur et c'est pas vraiment ton problème. Dans le cas contraire il lui revient de configurer son navigateur pour traiter le fichier comme il le souhaite (y'a des plugins firefox qui existent spécialement dédiés à ça d'ailleurs, comme download helper)...

A voir bien sûr selon le public auquel ton script est destiné, mais c'est pas délirant comme principe de départ.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphant du PHP | 288 Messages

21 sept. 2009, 15:34

Si le navigateur est configuré pour traiter le fichier de façon spéciale, alors c'est ce que souhaite l'utilisateur et c'est pas vraiment ton problème. Dans le cas contraire il lui revient de configurer son navigateur pour traiter le fichier comme il le souhaite (y'a des plugins firefox qui existent spécialement dédiés à ça d'ailleurs, comme download helper)...

A voir bien sûr selon le public auquel ton script est destiné, mais c'est pas délirant comme principe de départ.
La plus part des personnes qui utilisent le service ne savent meme pas ce qu'est un navigateur. Donc il ne connaisse pas la config de leur navigateur, c'est des coach de basket-ball, football américain d'université. De plus leur poste de travail est configuré par des techniciens de l'université. Pour installer quelque chose il faut faire une requête au service technique qui prend 2-3 semaines avant d'arriver.

ViPHP
ViPHP | 2287 Messages

21 sept. 2009, 16:58

La plus part des personnes qui utilisent le service ne savent meme pas ce qu'est un navigateur. Donc il ne connaisse pas la config de leur navigateur, c'est des coach de basket-ball, football américain d'université.
La plupart des personnes conduisant une voiture ne savent pas comment fonctionne un arbre primaire de boite de vitesses ni le principe du moteur à explosion... Et pourtant, ça les empêche pas de faire avancer la voiture et de tourner à gauche quand un virage à gauche se présente.
De plus leur poste de travail est configuré par des techniciens de l'université. Pour installer quelque chose il faut faire une requête au service technique qui prend 2-3 semaines avant d'arriver.
firefox peut s'installer sans les droits d'administrateur, voire même ne pas être installé du tout (install portable sur clé usb, etc) ;)

Mais si tu tiens à laisser des gens télécharger des fichiers de +2Go sans les éduquer un minimum en leur disant au moins "attention, gros fichier", ben tu auras surement de bien plus gros soucis à gérer que cette histoire de headers.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Mammouth du PHP | 985 Messages

21 sept. 2009, 17:07

plusieurs choses:
Cela m'étonnerait que les techniciens installent dans ton cas, des logiciels de téléchargements.
Il me semble aussi étonnant de voir un employé faire une demande à ses employeurs pour installer un programme de ce type...
Mais admettons que oui, dans ce cas en zippant le fichier, le programme ne devrait pas l'ouvrir.

Sinon c'est dommage que cela ne fonctionne pas avec ce header pour la fonction readfile().
Mais si j'ai bien compris cela fonctionne dans ton cas que si tu modifies ton fichier htpd.conf.
Ma question était donc surtout pour ceux qui n'ont pas accès à ce fichier.
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Eléphant du PHP | 288 Messages

21 sept. 2009, 19:24


plusieurs choses:
Cela m'étonnerait que les techniciens installent dans ton cas, des logiciels de téléchargements.
Il me semble aussi étonnant de voir un employé faire une demande à ses employeurs pour installer un programme de ce type...
C'est ce que j'ai expliqué dans mon post précédent à moins que je n'ai pas été clair.

Mais admettons que oui, dans ce cas en zippant le fichier, le programme ne devrait pas l'ouvrir.
oui ca roule mais comme c'est des gros fichiers bien y en a qui trouve ca long de le zipper. Il se justifie en disant qu'il doivent déjà mettre les fichiers de la caméra sur le disque dure etc..

La plupart des personnes conduisant une voiture ne savent pas comment fonctionne un arbre primaire de boite de vitesses ni le principe du moteur à explosion... Et pourtant, ça les empêche pas de faire avancer la voiture et de tourner à gauche quand un virage à gauche se présente.
:) je te l'accorde, mais si je veux rentrer une vitesse et que ca bloque pour x-raisons ne me demande pas de visser quelque chose par exemple par ce que j'y connais rien.

firefox peut s'installer sans les droits d'administrateur, voire même ne pas être installé du tout (install portable sur clé usb, etc) ;)
encore une fois +1. Mais 80% utilise internet explorer de 1 et crois moi c'est pas vraiment un langage qu'ils comprennent (navigateur, firefox, module ) et je ne veux pas passer 10 h au téléphone :D .


Mais si tu tiens à laisser des gens télécharger des fichiers de +2Go sans les éduquer un minimum en leur disant au moins "attention, gros fichier", ben tu auras surement de bien plus gros soucis à gérer que cette histoire de headers.
Le système à la base a été commandé pour pouvoir uploader et télécharger des fichiers de +de 2Go donc la partie éducation ils la savent déjà. Et pour les problème j'en ai eu une panoplie je te l'assure mais rien d'insurmontable, d'ailleurs le système roule sans aucun problème. Je sais pas si tu as lu tout le sujet mais il a été résolut, j'ai re posté pour répondre à Dr@ke qui voulait une petite précision.

Merci à tous encore pour l'aide.

Mammouth du PHP | 985 Messages

21 sept. 2009, 20:01

Mais admettons que oui, dans ce cas en zippant le fichier, le programme ne devrait pas l'ouvrir.
oui ca roule mais comme c'est des gros fichiers bien y en a qui trouve ca long de le zipper. Il se justifie en disant qu'il doivent déjà mettre les fichiers de la caméra sur le disque dure etc..
LoL, c'est sur avec des arguments pareilles, ca complique les choses.

Bref, ciao et bonne chance au Quebec :wink:
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

ViPHP
ViPHP | 2287 Messages

21 sept. 2009, 21:01

Le système à la base a été commandé pour pouvoir uploader et télécharger des fichiers de +de 2Go donc la partie éducation ils la savent déjà. Et pour les problème j'en ai eu une panoplie je te l'assure mais rien d'insurmontable, d'ailleurs le système roule sans aucun problème. Je sais pas si tu as lu tout le sujet mais il a été résolut, j'ai re posté pour répondre à Dr@ke qui voulait une petite précision.
Ah non, j'ai pourtant tout lu mais j'ai dû zapper la résolution #-o :shock: Autant pour moi, et content pour toi ;)

Quelle solution as-tu retenue finalement ? ( Edit : trouvé tout seul, une mise à blanc du mimetype, c'est cool aussi ;) )
if(!@work()){ Nespresso(); } else { what(); }
______________________________