Datei aus Linkliste öffnen

Datei aus Linkliste öffnen

am 27.09.2004 14:34:00 von Alexander Fischer

Hallo,
ich bin nach vielem Probieren jetzt soweit, das ein Klick auf den Dateinamen
einer Datei aus einer Linkliste bewirkt, das der Browser die richtige Datei
öffnen bzw. speichern möchte.
Leider ändert sich, nachdem ich diesen Dialog (Öffnen oder Speichern)
beantwortet habe, der Dateiname. Der Browser, besser gesagt, Word versucht
nun, z.B. eine Datei "Testbrief[1].doc" zu öffnen, statt "Testbrief.doc" und
findet sie natürlich nicht, $name wird jedoch richtig mit "Testbrief.doc"
übergeben.
Könnte es damit zusammenhängen, das die Linkliste durch Ausführung einer
Schleife, in der alle Dateien aufgelistet werden, die zu einem User gehören,
erzeugt wird?

Der Code zur Erstellung der Linkliste:

$result=mysql_query("select
id,beschreibung,bin_data,filename,filesize,filetype from dokumente where
user='$user'");
if(mysql_num_rows($result)>0)
{
for($i=0;$i {
?>

mysql_result($result,$i,'beschreibung');?>
"> mysql_result($result,$i,'filename');?>
mysql_result($result,$i,'filesize')." Byte";?>
mysql_result($result,$i,'filetype');?>

}
}

Der Code der Seite show.php:

include("config.php");
$id=$_GET['id'];
$result=mysql_query("select beschreibung,bin_data,filename,filetype from
dokumente where id='$id'");
$beschreibung=mysql_result($result,0,0);
$data=mysql_result($result,0,1);
$name=mysql_result($result,0,2);
$typ=mysql_result($result,0,3);
header('Content-type: '.$typ);
header('Content-disposition: attachment; filename='.$name);
echo $data;
?>

Danke
Alexander

Re: Datei aus Linkliste öffnen

am 27.09.2004 14:47:14 von Johannes Vogel

Hallo Alexander

Alexander Fischer wrote:
> Könnte es damit zusammenhängen, das die Linkliste durch Ausführung einer
> Schleife, in der alle Dateien aufgelistet werden, die zu einem User gehören,
> erzeugt wird?

Nun, das könntest du selbst herausfinden, indem du einfach $name einmal
in show.php ausprintest:

....
$typ=mysql_result($result,0,3);
header ('Content-Type: text/plain');
print "($name)"; exit;
....

Ich glaube aber eher, dass du halt in deinem Cache-Verzeichnis bereits
eine Datei Testbrief.doc hast und deshalb in Klammern eine ähnliche
Datei angelegt wird. Dass diese nicht geladen werden kann, konnte ich
auch schon bei Excel beobachten. Aus unerfindlichen Gründen ging's da
beim IE zu lang bis Excel startete und löschte die Datei wieder, bevor
sie von Excel gelesen werden konnte. Stattdessen funktionierte es, wenn
ich Excel beim Klicken bereits geöffnet hatte.

HTH, Johannes

Re: Datei aus Linkliste öffnen

am 27.09.2004 15:38:38 von Niels Braczek

Alexander Fischer schrieb:

> Leider ändert sich, nachdem ich diesen Dialog (Öffnen oder Speichern)
> beantwortet habe, der Dateiname. Der Browser, besser gesagt, Word
> versucht nun, z.B. eine Datei "Testbrief[1].doc" zu öffnen, statt
> "Testbrief.doc" und findet sie natürlich nicht, $name wird jedoch
> richtig mit "Testbrief.doc" übergeben.
> Könnte es damit zusammenhängen, das die Linkliste durch Ausführung
> einer Schleife, in der alle Dateien aufgelistet werden, die zu einem
> User gehören, erzeugt wird?

Das hat nichts mit deinem Skript zu tun. Das ist eine übliche
Microsoft-Macke, die nicht nur Word betrifft.

MfG
Niels

--
Gib einem Hungrigen einen Fisch, und er ist für einen Tag satt.
Zeig ihm, wie man angelt, und er pöbelt Dich an, dass er besseres
zu tun hätte, als Schnüre ins Wasser hängen zu lassen.
[David Kastrup in de.comp.text.tex]

Re: Datei aus Linkliste öffnen

am 27.09.2004 23:37:42 von Alexander Fischer

Danke für eure Hinweise...

Und es gibt keine Möglichkeit, die "Microsoft"-Macke zu umgehen ?
Könnte man ein Textdokument im Browser selber laden und ansehen?
Und ein Bild?

Danke

Alex

"Niels Braczek" schrieb im Newsbeitrag
news:cj94tk$no9$00$1@news.t-online.com...
> Alexander Fischer schrieb:
>
> > Leider ändert sich, nachdem ich diesen Dialog (Öffnen oder Speichern)
> > beantwortet habe, der Dateiname. Der Browser, besser gesagt, Word
> > versucht nun, z.B. eine Datei "Testbrief[1].doc" zu öffnen, statt
> > "Testbrief.doc" und findet sie natürlich nicht, $name wird jedoch
> > richtig mit "Testbrief.doc" übergeben.
> > Könnte es damit zusammenhängen, das die Linkliste durch Ausführung
> > einer Schleife, in der alle Dateien aufgelistet werden, die zu einem
> > User gehören, erzeugt wird?
>
> Das hat nichts mit deinem Skript zu tun. Das ist eine übliche
> Microsoft-Macke, die nicht nur Word betrifft.
>
> MfG
> Niels
>
> --
> Gib einem Hungrigen einen Fisch, und er ist für einen Tag satt.
> Zeig ihm, wie man angelt, und er pöbelt Dich an, dass er besseres
> zu tun hätte, als Schnüre ins Wasser hängen zu lassen.
> [David Kastrup in de.comp.text.tex]
>
>