zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Erzeugen und Download von JSON-file fehlerhaft

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 17.05.2020, 15:12
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 13.09.2005
Beiträge: 83
Iago2 befindet sich auf einem aufstrebenden Ast
Standard Erzeugen und Download von JSON-file fehlerhaft

Hallo,

Ich erzeuge eine JSON-Datei und möchte diese mit dem Browser herunterladen. Das Erzeugen funktioniert, aber der Download nicht. Ich habe den folgenden Ansatz:

PHP-Code:
function createFile() {
   
    
$date date("d-m-h-i-s");
    
$dir "./JSON/";

    
$file $dir.'CP'.$date.'.json';
    
    
$info '[{"Hello":"JSON"}]';

    
file_put_contents($file$infoFILE_APPEND);

    return 
$file;

    }

    function 
downloadFile($file) {

        if (
file_exists($file)) {
    
header('Content-Description: File Transfer');
    
header('Content-Type: application/octet-stream');
    
header('Content-Disposition: attachment; filename="'.basename($file).'"');
    
header('Expires: 0');
    
header('Cache-Control: must-revalidate');
    
header('Pragma: public');
    
header('Content-Length: ' filesize($file));
    
readfile($file);
    exit;
    }
    

Dann:
PHP-Code:
 downloadFile(createFile()); 

Leider bekomme ich auch keine Fehlermeldung hier. Kann es sein, dass ich $file nicht richtig übergebe? Für eine Hilfestellung wäre ich dankbar.
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 18.05.2020, 17:00
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Iago2 Beitrag anzeigen
Leider bekomme ich auch keine Fehlermeldung hier.
D.h. du hast keine Informationen in der Entwicklerkonsole? Keine Fehlermeldung? Keine Übertragung im Netzwerk?
Das klingt merkwürdig.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 18.05.2020, 19:14
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 13.09.2005
Beiträge: 83
Iago2 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von protonenbeschleuniger Beitrag anzeigen
D.h. du hast keine Informationen in der Entwicklerkonsole? Keine Fehlermeldung? Keine Übertragung im Netzwerk?
Das klingt merkwürdig.
Nein. Ich rufe die Funktion über AJAX auf. Normalerweise sehe ich in console.log dann die Fehlermeldung. (php error_reporting ist aktiv). downloadFile($file) wird definitv auch ausgeführt.

Benötigen diese Header-Anweisungen nicht einen reload der Seite??

Geändert von Iago2 (18.05.2020 um 19:31 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 18.05.2020, 19:22
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

und was sagt der Netzwerkreiter (CTRL+SHIFT+Q)
Mit Zitat antworten
  #5 (permalink)  
Alt 18.05.2020, 20:21
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 13.09.2005
Beiträge: 83
Iago2 befindet sich auf einem aufstrebenden Ast
Standard

general:
Request URL: http://localhost/cpicks/actions.php?...createLiteJson
Request Method: POST
Status Code: 200 OK
Remote Address: [::1]:80
Referrer Policy: no-referrer-when-downgrade

response headers
Cache-Control: must-revalidate
Connection: Keep-Alive
Content-Description: File Transfer
Content-Disposition: attachment; filename="CP18-05-07-15-04.json"
Content-Length: 18
Content-Type: application/octet-stream
Date: Mon, 18 May 2020 17:15:04 GMT
Expires: 0
Keep-Alive: timeout=5, max=98
Pragma: public
Server: Apache/2.4.43 (Win64) OpenSSL/1.1.1f PHP/7.4.4
X-Powered-By: PHP/7.4.4

request headers
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7
Connection: keep-alive
Content-Length: 12
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Cookie: PHPSESSID=79k9ngj1uecogbo4151ivl59j4
Host: localhost
Origin: http://localhost
Referer: http://localhost/cpicks/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36
X-Requested-With: XMLHttpRequest

query string parameters
action: createLiteJson

form data
id=undefined
Mit Zitat antworten
  #6 (permalink)  
Alt 18.05.2020, 20:42
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Dann kommt alles an. Die Datei ist 18 Byte gross?
Mit Zitat antworten
  #7 (permalink)  
Alt 19.05.2020, 14:35
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 13.09.2005
Beiträge: 83
Iago2 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von protonenbeschleuniger Beitrag anzeigen
Dann kommt alles an. Die Datei ist 18 Byte gross?
Ist das ne Frage ob die Datei 18byte gross ist?
Wo kommt das an? Warum wird kein Download Dialog angezeigt?
Mit Zitat antworten
  #8 (permalink)  
Alt 19.05.2020, 15:05
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 30.01.2014
Beiträge: 2.247
cloned ist ein wunderbarer Anblickcloned ist ein wunderbarer Anblickcloned ist ein wunderbarer Anblickcloned ist ein wunderbarer Anblickcloned ist ein wunderbarer Anblickcloned ist ein wunderbarer Anblickcloned ist ein wunderbarer Anblick
Standard

Ja, das ist eine Frage ob die Datei, die du erwartest 18 Byte groß ist.

Auch nett, dass du einen Teil von dem Netzwerktab hier kopiert hast, aber da gibt es mehrere Tabs (Zumindest bei Chrome, FF wohl auch)

Da siehst du genau was der Server zurückliefert und kannst dir auch eine Vorschau anzeigen lassen. Was hier wohl erwartet wurde: Dass du dir die Sachen anschaust und uns sagst ob auch wirklich alles so ankommt wie es soll.

Wenn alles ankommt wie es soll und kein download Dialog angezeigt wird kann man dort einmal ansetzen. Kommt es nicht so zurück wie es soll dann muss das php Skript angepasst werden.
Mit Zitat antworten
  #9 (permalink)  
Alt 20.05.2020, 19:18
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 13.09.2005
Beiträge: 83
Iago2 befindet sich auf einem aufstrebenden Ast
Standard

Mit refresh der Seite funzt es, leider mit AJAX nicht.
Hilf wohl nix die Metrik zu analysieren.

Haha, jetzt schreibst mir das hier in die Datei an den Anfang:
./JSON/CP20-05-06-31-07.json is created

Wer braucht das?

Geändert von Iago2 (20.05.2020 um 19:37 Uhr)
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 20.05.2020, 22:05
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Ajax?
Bis jetzt ging es um Serverseigien Code. Die Frage bisher was, ob das im Browser ankommt das ist was du erwartest. Wenn es beim normalen Aufruf funktioniert, dann liegt es wohl am Ajax Code, den kennen wir aber nicht.
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
php Download file nicht komplett Avadis Serveradministration und serverseitige Scripte 8 16.03.2012 12:31


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:16 Uhr.