[GastForen Programmierung/Entwicklung PHP und MySQL PDF-Download – Zähler?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

PDF-Download – Zähler?

Thobie
Beiträge gesamt: 4041

5. Aug 2013, 14:49
Beitrag # 16 von 28
Beitrag ID: #515884
Bewertung:
(7585 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin, Intermedia,

Antwort auf [ Intermedia ] Glaub', er meint so was in dieser Art …

ja, so was in dieser Art meine ich. Kannst Du mir die PHP-Dateien zur Verfügung stellen?

Grüße



Thobie


als Antwort auf: [#515877]
X

PDF-Download – Zähler?

Intermedia
Beiträge gesamt: 1287

13. Aug 2013, 08:48
Beitrag # 17 von 28
Beitrag ID: #516231
Bewertung:
(7507 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

so hier ist mal das Script, als erstes das Script welches den Download einleitet und die Statistik schreibt.

Je nach Einstellung des Servers wird die Textdatei zum zählen selber erstellt.
Funktioniert das nicht muß die Datei manuell erstellt werden.

Dateiname ist zahl.txt und es muß eine 0 drin stehen.

Hier der Code der load.php

Code
<?php 
if(isset($_GET['pdf'])){

if(!file_exists($_GET['pdf'])){

echo "Datei nicht vorhanden";

exit;

}

if(!file_exists("zahl.txt")){

file_put_contents("zahl.txt","0");
}

$zahl = file_get_contents("zahl.txt");
$z = $zahl +1;
file_put_contents("zahl.txt",$z);
$ip = $_SERVER ['REMOTE_ADDR'];
$host = gethostbyaddr ($_SERVER ['REMOTE_ADDR']);
$ref_link = $_SERVER['HTTP_USER_AGENT'];
$q_link = $_SERVER['QUERY_STRING'];
date_default_timezone_set("Europe/Berlin");
$dd = date("d.m.Y-G:i:s",time());
$data = "Datum: $dd - Host: $host - IP:$ip - $ref_link - $q_link\n";
file_put_contents("stat.txt",$data,FILE_APPEND);
$size = filesize($_GET['pdf']);
header("Content-disposition: attachment; filename=".$_GET['pdf']);
header("Content-type: application/pdf");
header("Content-length: ".$size);
readfile($_GET['pdf']);
exit;
}
?>


Dann wird eine weitere Textdatei benötigt in welcher verschiedene Parameter eingetragen werden, auch diese Datei sollte automatisch erstellt werden, funktioniert das nicht dann muß sie manuell erzeugt werden mit dem Dateinamen stat.txt.

Die Textdateien können mit den Rechten 755 versehen werden.

So, nun noch die Anzeige der Statistik:

stat.php

Code
<!DOCTYPE html> 
<html lang="de">
<head>
<meta charset="utf-8" />
<title>Anzeige Statistik</title>
</head>
<body>
<form name="stat" method="post" action="stat.php">
<input type="submit" name="lese" value="Statistik anzeigen"> <input type="submit" name="lo" value="Reset Statistik">
</form>
<?php
if(isset($_POST['lo'])){
file_put_contents("zahl.txt","0");
file_put_contents("stat.txt","");
}
if(isset($_POST['lese'])){
$zahl = file_get_contents("zahl.txt");
echo "<br />Anzahl Downloads: $zahl<br /><br />";
$str = nl2br(file_get_contents("stat.txt"));
echo $str;
}

?>
</body>
</html>


Das sollte es soweit gewesen sein, viel Erfolg.

Gruß Sven


als Antwort auf: [#515884]

PDF-Download – Zähler?

Thobie
Beiträge gesamt: 4041

13. Aug 2013, 18:50
Beitrag # 18 von 28
Beitrag ID: #516279
Bewertung:
(7482 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin, Sven,

danke für die beiden Scripts.

Die Statistik funktioniert, steht jetzt erstmal bei "0", ist ja aber HTML-Code.

Das erste PHP-Script load.php funktioniert bei mir nicht. Mit diesem Link http://www.kreativ-schmie.de/...f=art_und_design.pdf passiert nichts, es wird kein Download angeboten wie bei Deiner Test-Datei. Der Name des PDFs muss anscheinend nicht in das Script, wie mir scheint.

Was läuft da falsch?

Grüße


Thobie


als Antwort auf: [#516231]

PDF-Download – Zähler?

Intermedia
Beiträge gesamt: 1287

13. Aug 2013, 20:32
Beitrag # 19 von 28
Beitrag ID: #516281
Bewertung:
(7461 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

ohne Fehlermeldungen kann man nix dazu sagen.

Ich tippe mal auf fehlende Schreibrechte der Textdateien.

Gruß Sven


als Antwort auf: [#516279]

PDF-Download – Zähler?

Thobie
Beiträge gesamt: 4041

13. Aug 2013, 23:26
Beitrag # 20 von 28
Beitrag ID: #516284
Bewertung:
(7436 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin, Sven,

ich habe jetzt ganz brachial die Rechte der beiden PHP-Dateien und der beiden Text-Dateien auf "777" gesetzt.

Wenn ich Deine test.pdf aufrufe, bekomme ich die Möglichkeit angeboten, sie zu öffnen oder herunterzuladen.

Wenn ich meine PDF-Datei mit der angegeben URL laden will, passiert im Browser gar nichts. Ich bekomme ein weißes Browserfenster. Keine Fehlermeldung. Gar nichts. Ich bekomme keine Möglichkeit zum Downloaden oder Öffnen oder sie wird auch nicht automatisch im Browser geöffnet, wie es passiert, wenn ich sie auf dem Webspace direkt anspreche.

Sorry, ich glaube mit dem Script load.php stimmt etwas nicht. Selbst, wenn ich das Ganze – wie bei Dir – mit einem Ordner "down" versuche, oder Deine Test-PDF auf meinen Webspace lade und versuche sie aufzurufen, passiert nichts. Weißes Browserfenster. Was passiert, wenn Du die PDF-Datei über meinen angegeben Link öffnen willst?

Grüße


Thobie


als Antwort auf: [#516281]
(Dieser Beitrag wurde von Thobie am 13. Aug 2013, 23:46 geändert)

PDF-Download – Zähler?

Intermedia
Beiträge gesamt: 1287

14. Aug 2013, 08:27
Beitrag # 21 von 28
Beitrag ID: #516286
Bewertung:
(7383 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

wenn eine weiße Seite angezeigt wird liegt ein Fehler vor. Dazu braucht man die Fehlermeldung, da die bei dir unterdrückt wird kann man dazu nichts sagen.

Kopier mal deinen Quellcode 1:1 hier rein.

Hast du es mal mit einer kleineren PDF getestet? Als Übergabewert in der URL den neuen Dateinamen eingeben.

Gruß Sven


als Antwort auf: [#516284]

PDF-Download – Zähler?

Thobie
Beiträge gesamt: 4041

14. Aug 2013, 17:18
Beitrag # 22 von 28
Beitrag ID: #516321
Bewertung:
(7362 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin, Sven,

Antwort auf [ Intermedia ] Moin, wenn eine weiße Seite angezeigt wird liegt ein Fehler vor. Dazu braucht man die Fehlermeldung, da die bei dir unterdrückt wird, kann man dazu nichts sagen.

warum wird die bei mir unterdrückt?

Antwort auf: Kopier mal deinen Quellcode 1:1 hier rein.

---

<?php
if(isset($_GET['pdf'])){

if(!file_exists($_GET['pdf'])){

echo "Datei nicht vorhanden";

exit;

}

if(!file_exists("zahl.txt")){

file_put_contents("zahl.txt","0");
}

$zahl = file_get_contents("zahl.txt");
$z = $zahl +1;
file_put_contents("zahl.txt",$z);
$ip = $_SERVER ['REMOTE_ADDR'];
$host = gethostbyaddr ($_SERVER ['REMOTE_ADDR']);
$ref_link = $_SERVER['HTTP_USER_AGENT'];
$q_link = $_SERVER['QUERY_STRING'];
date_default_timezone_set("Europe/Berlin");  
$dd = date("d.m.Y-G:i:s",time());
$data = "Datum: $dd - Host: $host - IP:$ip - $ref_link - $q_link\n";
file_put_contents("stat.txt",$data,FILE_APPEND);
$size = filesize($_GET['pdf']);
header("Content-disposition: attachment; filename=".$_GET['pdf']);
header("Content-type: application/pdf");
header("Content-length: ".$size);
readfile($_GET['pdf']);
exit;
}
?>

---

Antwort auf: Hast du es mal mit einer kleineren PDF getestet? Als Übergabewert in der URL den neuen Dateinamen eingeben.

Ich habe es mit Deiner Testdatei ausprobiert, funktioniert auch nicht.

Grüße


Thobie


als Antwort auf: [#516286]

PDF-Download – Zähler?

Intermedia
Beiträge gesamt: 1287

15. Aug 2013, 11:30
Beitrag # 23 von 28
Beitrag ID: #516346
Bewertung:
(7326 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

die Anzeige von Fehlermeldungen hängt von der Einstellung des Servers ab.

Ich hab keine Ahnung welche PHP Version du hast und welche Einstellungen dein Server hat, so kann man keine Fehlersuche machen.

Schreib mal in ganz oben das rein:

Code
error_reporting( -1 ); 
ini_set('display_errors', TRUE);


damit kann man alle Meldungen anzeigen lassen.

Gruß Sven


als Antwort auf: [#516321]

PDF-Download – Zähler?

Thobie
Beiträge gesamt: 4041

15. Aug 2013, 20:44
Beitrag # 24 von 28
Beitrag ID: #516368
Bewertung:
(7299 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin, Sven,

der Code, den ich einfügen sollte, funktioniert nicht.

Die PHP-Version ist 5.3.27 (bekommst Du über die info.php auf meinem Server).

Ich habe aber Zugriff auf die LogFiles des Servers, dort sind die Fehlermeldungen aufgelistet.

Es kam bei allen Fehlermeldungen der Hinweis zu Linie 25 (ich gehe davon aus, dass die Leerzeilen in Deinem Script mitgezählt werden):

$dd = date("d.m.Y-G:i:s",time());

die so lautet:

14.08.2013 01:55:49 kreativ-schmie.de [client 66.249.78.44] PHP Parse error: syntax error, unexpected T_VARIABLE in /mnt/webd/d1/88/53063188/htdocs/load.php on line 25

Grüße


Thobie


als Antwort auf: [#516346]
(Dieser Beitrag wurde von Thobie am 15. Aug 2013, 20:56 geändert)

PDF-Download – Zähler?

Intermedia
Beiträge gesamt: 1287

19. Aug 2013, 09:01
Beitrag # 25 von 28
Beitrag ID: #516423
Bewertung:
(7228 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

die Fehlermeldung deutet auf ein vergessenes Semikolon oder ein falsches Zeichen bei einer Variable hin.

Das kann auch eine Zeile vorher sein.

Den Quelltext den du gepostet hast funktioniert einwandfrei.

Der Code für das Anzeigen von Fehlermeldungen funktioniert auch einwandfrei, und das schon seit etlichen Jahren auf zig verschiedenen Servern!
Da hast du wohl was falsch gemacht.

Gruß Sven


als Antwort auf: [#516368]

PDF-Download – Zähler?

Thobie
Beiträge gesamt: 4041

20. Aug 2013, 16:29
Beitrag # 26 von 28
Beitrag ID: #516479
Bewertung:
(7184 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin, Sven,

tja, und was habe ich falsch gemacht?

Ich habe Deinen Quellcode – wie hier gepostet – genauso in die load.php übernommen. Ebenso das Codeschnipsel für die Fehlermeldung.

Und warum funktioniert das dann nicht? Und warum gibt der Server des Providers diesen Fehler aus?

Würde mich freuen, wenn Du mir behilflich sein könntest, den Fehler zu finden, weil ich diese PHP-Lösung gern verwenden würde.

Grüße

Thobie


als Antwort auf: [#516423]

PDF-Download – Zähler?

Thobie
Beiträge gesamt: 4041

20. Aug 2013, 19:14
Beitrag # 27 von 28
Beitrag ID: #516485
Bewertung:
(7152 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin, Sven,

ich habe mir die PHP-Datei mal in einem Webseiten-Editor genauer angeschaut. Am Ende der Linie 25 mit dem Datum und der Zeit war irgend eine Leerstelle oder ein nicht sichtbares Sonderzeichen, das in der PHP-Datei so nicht zu sehen war. Ich habe nun am Ende jeder Zeile der PHP-Datei mal Leer- oder Sonderzeichen bis zum jeweiligen Strich-Punkt entfernt und siehe da … es funktioniert.

Vielen Dank nochmals. Du hast etwas gut bei mir. Wenn mal Fragen zu QXP oder Printmedien sind, wende Dich immer gern an mich. ;–)

Grüße


Thobie


als Antwort auf: [#516479]

PDF-Download – Zähler?

Intermedia
Beiträge gesamt: 1287

21. Aug 2013, 08:48
Beitrag # 28 von 28
Beitrag ID: #516491
Bewertung:
(7104 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

es konnte nur so etwas in der Art sein. Ist doch gut wenn es jetzt klappt.

Vielen Dank für dein Angebot, mit dem Printbereich hab ich nichts am Hut. ;-)

Gruß Sven


als Antwort auf: [#516485]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
18.06.2024

Online
Dienstag, 18. Juni 2024, 10.00 - 10.30 Uhr

Webinar

In diesen beiden kostenlose Webinaren erfahren Sie, wie Sie mit Hilfe von Enfocus Griffin und dem Impressed Workflow Server Ihren LFP-Workflows optimieren können. 18.06.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 02.07.2024: So sparen Sie Zeit und Geld mit Impressed Workflow Server in der LFP-Edition Griffin: Griffin ist das leistungsstarke Kraftpaket für das automatische Nesting im Großformatdruck. Dank eines ausgeklügelten, KI-basierten Nesting-Algorithmus können Sie mit Griffin Vorlagen schnell und effizient vernutzen – und das klappt auch mit unregelmäßigen Formen perfekt. Das spart Ihnen unzählige Stunden, die Sie bisher mit dem manuellen Nesting und Ausschießen verbracht haben. Einige wichtige Funktionen ≡ Anlage von Beschnittzugaben ≡ Automatische Erzeugung der Schnittkontur ≡ Erstellung von Strichcodes, Textmarkierungen und Registrierungen IWS LFP Edition: Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Mit dem IWS LFP Edition automatisieren Sie Ihre Produktion von der Übernahme der Daten aus dem ERP-System bis zur Erzeugung der verschachtelten Druckform und der Übergabe an den RIP. Phoenix Core ist eine hochentwickelte KI-Technologie für die Planung und das Nesting von Druckerzeugnissen. Anders als herkömmliche Ausschießlösungen arbeitet Phoenix nicht auf Basis von Vorlagen, sondern erzeugt entsprechend der Maschinen- und Produktionsanforderungen druckfertige Layouts „on-the-fly“.

kostenlos

Ja

Organisator: Impressed GmbH

https://www.impressed.de/schulung.php?c=sDetail&sid=328

So optimieren Sie Ihren LFP-Workflow
Veranstaltungen
02.07.2024

Online
Dienstag, 02. Juli 2024, 10.00 - 10.30 Uhr

Webinar

In diesen beiden kostenlose Webinaren erfahren Sie, wie Sie mit Hilfe von Enfocus Griffin und dem Impressed Workflow Server Ihren LFP-Workflows optimieren können. 18.06.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 02.07.2024: So sparen Sie Zeit und Geld mit Impressed Workflow Server in der LFP-Edition Griffin: Griffin ist das leistungsstarke Kraftpaket für das automatische Nesting im Großformatdruck. Dank eines ausgeklügelten, KI-basierten Nesting-Algorithmus können Sie mit Griffin Vorlagen schnell und effizient vernutzen – und das klappt auch mit unregelmäßigen Formen perfekt. Das spart Ihnen unzählige Stunden, die Sie bisher mit dem manuellen Nesting und Ausschießen verbracht haben. Einige wichtige Funktionen ≡ Anlage von Beschnittzugaben ≡ Automatische Erzeugung der Schnittkontur ≡ Erstellung von Strichcodes, Textmarkierungen und Registrierungen IWS LFP Edition: Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Mit dem IWS LFP Edition automatisieren Sie Ihre Produktion von der Übernahme der Daten aus dem ERP-System bis zur Erzeugung der verschachtelten Druckform und der Übergabe an den RIP. Phoenix Core ist eine hochentwickelte KI-Technologie für die Planung und das Nesting von Druckerzeugnissen. Anders als herkömmliche Ausschießlösungen arbeitet Phoenix nicht auf Basis von Vorlagen, sondern erzeugt entsprechend der Maschinen- und Produktionsanforderungen druckfertige Layouts „on-the-fly“.

kostenlos

Ja

Organisator: Impressed GmbH

Kontaktinformation: E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=328

So optimieren Sie Ihren LFP-Workflow