SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 04.05.2011, 22:29:00
mc-bain mc-bain ist offline
Anfänger
 
Registriert seit: Jun 2008
Alter: 44
Beiträge: 23
Datei dynamisch erzeugen und Dowload Dialog anzeigen

Hallo,

Ich habe folgenden Code:
Code:
...
<table id="myTable" border="1">
<tr>
<td>11</td>
<td>12</td>
</tr>
<tr>
<td>21</td>
<td>22</td>
</tr>
<tr>
<td>31</td>
<td>32</td>
</tr>
</table>


<input type="button" onclick="CSV('myTable')" value="Make CSV">
...
Die CSV Funktion liest mit js die die Zelleninhalte von myTable aus und ruft über einen Ajax-Request ein PHP Skript auf, welches mit POST einen CSV-String übergeben bekommt. Anschließend speichere ich daraus eine CSV-Datei ab.
Bis hier funktioniert alles.
Jetzt würde ich aber gerne gleich im Anschluss - ohne, dass der User nochmal irgendwo hinklicken muss - den Dowload Dialog für die CSV-Datei anzeigen. Ich habe dafür auch schon einen Code gefunden:

beispiel.php:
Code:
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"my-data.csv\"");
$data="col1, col start and end col2,col3, \n";
$data .= "seond linedata here from site to download col1";

echo $data;
Wenn ich beispiel.php über den Browser aufrufe funktioniert es, aber nicht, wenn ich beispiel.php über meinen Ajax-Request aufrufe.

Ich hoffe, ich konnte mein Problem verdeutlichen.
Es wäre nett, wenn jemand einen Tip für mich hätte, wie ich das am Elegantesten lösen könnte.
Bin noch nicht so fit in php.

Vielen Dank
Mit Zitat antworten
  #2  
Alt 04.05.2011, 23:12:11
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Datei dynamisch erzeugen und Dowload Dialog anzeigen

Hi

ich kann mich irren aber was ist daran ein PHP problem?
Das ist ein JS problem. Dein Ajax Request liest den Inhalt
aus nicht den Header.

mfg

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #3  
Alt 05.05.2011, 07:35:29
mc-bain mc-bain ist offline
Anfänger
 
Registriert seit: Jun 2008
Alter: 44
Beiträge: 23
AW: Datei dynamisch erzeugen und Dowload Dialog anzeigen

Danke schonmal für die Antwort.
Das heißt, dass ich das nicht mit PHP hinbekomme?
Ich würde eigentlich nur gerne beim Klick auf den Button - ohne die Seite neu laden zu müssen - die vorhandene Tabelle mit JavaScript auslesen und dann diese mit PHP als CSV abspeichern. Abschließend soll halt gleich automatisch der Download Dialog erscheinen.

Geht das ohne die Seite neu laden zu müssen? Oder muss ich das über ein Formular und Submit Button lösen?
Mit Zitat antworten
  #4  
Alt 05.05.2011, 07:49:56
KTB KTB ist offline
Member
 
Registriert seit: Mar 2006
Alter: 39
Beiträge: 599
AW: Datei dynamisch erzeugen und Dowload Dialog anzeigen

Mit AJAX wirst du da meines Wissens nach keinen Erfolg haben. Ein einfaches JavaScript, dass beispiel.php aufruft würde bei deinem Vorhaben eigentlich schon ausreichen.
__________________
In der Ruhe liegt die Kraft!
Mit Zitat antworten
  #5  
Alt 05.05.2011, 10:16:55
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Datei dynamisch erzeugen und Dowload Dialog anzeigen

Hi

du könntest folgendes machen.
1. Ein Erstellungslink
-- Der ruft per Ajax eine Datei auf die nach timestamp(falls mehr als einer damit
-- arbeitet)eine csv erstellt und nach Erstellung den Namen zurückliefert.
-- Dann verarbeitest du den Namen in einem weiteren Link der dann erst sichtbar wird.
2. Der Downloadlink
-- dieser greift ganz normal auf den zurückgelieferten Dateinamen/link zu.

Vorteil du kannst einen Loader(Bild) ausgeben bis die Datei erstellt worden ist.

mfg

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #6  
Alt 09.05.2011, 07:45:41
mc-bain mc-bain ist offline
Anfänger
 
Registriert seit: Jun 2008
Alter: 44
Beiträge: 23
AW: Datei dynamisch erzeugen und Dowload Dialog anzeigen

Vielen Dank für eure Hinweise, am WE konnte ich mich dem Thema wieder zuwenden.

Ich habs jetzt mal so gelöst, wie von CKaos vorgeschlagen.
funktioniert auch, nur leider zeigt er mir mein Load.gif nicht an.

Ich habe es so gelöst, ein Ajax-Request ruft mir meine beispiel.php-Datei auf und diese sieht in etwa so aus:

Code:
if(isset($_POST["csv"])
{
   echo "<img src=\"load.gif\" />";
   echo "<a href=\"createCSV($_POST[\"csv\"])>Download</a>";
}
Aber leider wird mir das Bild load.gif nicht angezeigt, es kommt nur der Download Link für die CSV-Datei. Selbst bei einem sleep funktioniert es nicht. Wenn ich die Zeile
Code:
  echo "<a href=\"createCSV($_POST[\"csv\"])>Download</a>";
entferne, kommt das Bild. Kann sich dieses Verhalten jemand erklären?
Mit Zitat antworten
  #7  
Alt 09.05.2011, 08:11:02
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 16
Beiträge: 2.269
AW: Datei dynamisch erzeugen und Dowload Dialog anzeigen

1. Error_reporting aktivieren, dann siehst du auch den Fehler!
2. Die URL ist sicherlich ungültig
3. Das erzeugte HTML ist defekt
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Aus Datei Erstellungszeit microtime Zeitstempel erzeugen draho PHP Grundlagen 6 10.10.2010 20:14:01
Dynamisch Ordner erstellen und Datei reinkopieren derheld PHP Grundlagen 3 29.08.2009 20:56:01
Stelle aus einer Datei anzeigen, dann löschen. Simon14 PHP Grundlagen 13 11.07.2006 12:34:31
Datei anzeigen und anschließend löschen Ben20 PHP für Fortgeschrittene und Experten 2 08.08.2002 18:43:24
PHP in HTML Datei anzeigen christarth PHP Grundlagen 3 02.06.2002 19:36:52


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:13:59 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt