Bonjour,
J'aurais besion d'aide sur un problème de download fichier sur IE 6 via une application PHP.
Le principe :
J'utilise une application PHP/mysql pour acceder à des fichiers stockés sur un file system du serveur et non visibles directement.
Une fois le fichier à ouvrir determiné, le script PHP envoie une entete HTML, ouvre le fichier et le lit sur le flux;
Le problème :
Tout cela fonctionnait très bien sur toutes les machines clientes installées (c'est une appli intranet) : NT,W2000,Linux,Solaris et les divers navigateurs : IE 5.5 ,6.0 , Firefox, Mozilla, Konqueror, ...
Le probleme est en fait sur les postes clients installés en IE 6 et Windows SP2 : le message :
Internet Explorer cannot download ?operation=viewfile&id=9496 from intra.xxx.com
Internet Explorer was not able to open this Internet site. The Internet site is either unavialable or cannot be found .Please try again before.
A noter que :
- cela fonctionnait bien en SP1
- si l'utilisateur connecté a les droits "administrateur" ( au sens windows ) ca marche !!
Je pense à un pb de restriction de droits sur IE ?? en fait si le fichier est un .doc le format est bien detecté mais word n'est pas lancé ! Peut etre IE n'a plus le droit de lancer une autre application dans ce cas précis ?
Est ce un probleme connu par quelqu'un qui pourrait m'aider ?
Merci d'avance .
Le code qui fait partie de ma classe file.php :
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 function View() { global $default; global $myUser; $extension = GetExtension($this->filename); $path = GetFullPath($this->parent); $fspath = $default->data_dir."/".$path.$this->filename; $mimetype = GetMimeType($extension); if($mimetype == "" ) $mimetype = "null"; header("Pragma: cache"); // for ie and ssl !!!! header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Disposition: inline; filename=\"$this->filename\""); header("Content-Location: $this->filename"); header("Content-Type: $mimetype"); header("Content-Length: $this->size"); $wnb_enr = $this->size / $default->export_buffer_size; $wslast_enr = $this->size % $default->export_buffer_size; $wf=fopen($fspath , "rb"); for ($wj=1; $wj<=$wnb_enr; $wj++) { $contents = fread ($wf, $default->export_buffer_size); print $contents; } if ($wslast_enr > 0) { $contents = fread ($wf, $wslast_enr); print $contents; } fclose($wf); exit(); }
Partager