[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: 4040

5. Aug 2013, 14:49
Beitrag # 16 von 28
Beitrag ID: #515884
Bewertung:
(7511 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:
(7433 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: 4040

13. Aug 2013, 18:50
Beitrag # 18 von 28
Beitrag ID: #516279
Bewertung:
(7408 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:
(7387 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: 4040

13. Aug 2013, 23:26
Beitrag # 20 von 28
Beitrag ID: #516284
Bewertung:
(7362 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:
(7309 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: 4040

14. Aug 2013, 17:18
Beitrag # 22 von 28
Beitrag ID: #516321
Bewertung:
(7288 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:
(7252 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: 4040

15. Aug 2013, 20:44
Beitrag # 24 von 28
Beitrag ID: #516368
Bewertung:
(7225 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:
(7154 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: 4040

20. Aug 2013, 16:29
Beitrag # 26 von 28
Beitrag ID: #516479
Bewertung:
(7110 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: 4040

20. Aug 2013, 19:14
Beitrag # 27 von 28
Beitrag ID: #516485
Bewertung:
(7078 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:
(7030 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

Aktuell

Web / SEO / Blockchain / Betriebssystem
300

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
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

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

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

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? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

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

Und es geht doch: Automatisierung im Großformatdruck!