php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-06-2007, 10:55
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard phpmailer anhang pfadangabe problemchen

Hallo,

ich möchte via phpmailer einen anhang versenden. das klappt auch wunderbar, wenn ich die datei selbst von meinem pc als upload übergebe. Doch ich möchte jetzt eine Datei direkt vom webspace versenden, was eigentlich auch kein problem ist, z.b. bei einem bild.
Ich muss nur irgendwie ne variable mitgeben damit die Rechnung.pdf auch die Daten des Kunden drinn hat. die pdf datei wird durch php erstellt (FPDF).
der relevante code:
PHP-Code:
$file"ordner/Rechnung.php?trefferid=$trefferid&rechnr=$rechnr";
$filename "Rechnung.pdf";
$mail->AddAttachment($file$filename);
#so findet er natürlich die datei nicht und hängt nix an 
PHP-Code:
$file"ordner/Rechnung.php";
$filename "Rechnung.pdf";
$mail->AddAttachment($file$filename);
#so findet er die datei und versendet sie auch als anhang, problem ist nur, 
#dass keine variablen dabei sind und somit die pdf-datei nicht geöffnet 
#werden kann 
wie bekomme ich nun die variablen reingeschrieben bzw. die rechnung.php so verändert, dass die rechnung.pdf als anhang geöffnet und gelesen werden kann? Ich möchte auch nicht unbedingt noch eine datei generieren und auf space zwischenspeichern, WENN das denn geht. Ich hoffe ihr versteht wie ich es meine und könnt mir helfen.
Mit Zitat antworten
  #2 (permalink)  
Alt 02-06-2007, 12:03
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

du sollst für interne zwecke kein http bemühen.

besser: schreibe einen wrapper, der rechnung.php inkludiert, die nötigen parameter an die klasse(?) weitergibt und das ergebnis zwischenspeichert.
Mit Zitat antworten
  #3 (permalink)  
Alt 02-06-2007, 12:13
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja da hast du recht, dass http da nichts nützt, weil er ja die datei nicht findet mit den variablen hinten dran

was für einen wrapper sollten man da nehmen? meinst du so etwas in der art? Wrapper ich denke mal schon oder?
Mit Zitat antworten
  #4 (permalink)  
Alt 02-06-2007, 12:18
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

nein, "wrapper" im sinne einer hilfsklasse/-methode/-datei.
Mit Zitat antworten
  #5 (permalink)  
Alt 03-06-2007, 00:09
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

leider hab ich da gar keinen ansatz wie ich das bewerkstelligen könnte
hmmmmmm
Mit Zitat antworten
  #6 (permalink)  
Alt 03-06-2007, 01:06
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von brauni54
leider hab ich da gar keinen ansatz wie ich das bewerkstelligen könnte
die http-get-parameter kannst du per php auch direkt in's $_GET-array schreiben.

jetzt ist die frage, was "Rechnung.php" überhaupt macht. wenn eine temporäre datei angelegt wird, kannst du diese benutzen, ansonsten könntest du die ausgabe in eine temporäre datei umleiten.
Mit Zitat antworten
  #7 (permalink)  
Alt 03-06-2007, 21:39
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

rechnung.php ist die datei mit der das eigentliche pdf-dokument erstellt wird (siehe fpdf) und am browser ausgegeben wird - als pdf-datei...
nur geht das als anhang beim phpmailer nicht, welchen ich nutze
Zitat:
du sollst für interne zwecke kein http bemühen.

besser: schreibe einen wrapper, der rechnung.php inkludiert, die nötigen
parameter an die klasse(?) weitergibt und das ergebnis zwischenspeichert.

@ penizillin
nun möchte ich das gern mit diesem wrapper versuchen, nur sind wrapper noch neuland für mich und ich finde keine passenden ansätze wie ich einen eigenen wrapper erstelle ....*weitersuch*
Mit Zitat antworten
  #8 (permalink)  
Alt 04-06-2007, 01:06
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

angenommen, rechnung.php sieht so aus:
PHP-Code:
...
header("content-type: application/pdf");
echo 
$irgendwie_ermittelter_pdf_inhalt;
... 
könntest du eine datei wrapper.php anlegen, die folgendermaßen aufgebaut ist:
PHP-Code:
 ob_start();
include 
'rechnung.php';
fwrite(...); # aus ob_get_contents() in eine temporäre datei schreiben.
...
# versende temporäre datei
# lösche temporäre datei 
musst nur überlegen, wie man die parameter am geeignetsten durchreicht.
Mit Zitat antworten
  #9 (permalink)  
Alt 04-06-2007, 10:16
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hey danke für deinen ansatz, ich werd mich dann mal dran machen und gucken was geht
ich sag bescheid, wie es gelaufen ist, auch im erfolgsfall
danke @penizillin
Mit Zitat antworten
  #10 (permalink)  
Alt 04-06-2007, 14:51
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich habe nun folgenden wrapper erstellt - testweise
PHP-Code:
ob_start();
include 
'pdfrechnung/Rechnung.php';
$data ob_get_contents();
$neuedatei"pdfrechnung/temp.php";
$fp fopen($neuedatei'a+');
fwrite($fp$data); # aus ob_get_contents() in eine temporäre datei schreiben.
fclose($fp);
ob_end_clean(); 
und bekomme folgenden fehler:
Warning: %v%v() [function.%v]: Unable to access /bla/bla/bla/bla/html/logo1.PNG in /bla/bla/bla/bla/bla/bla/pdfrechnung/fpdf.php on line 1490
da haut sicher was bei ob_get_contents nicht hin!?
PHP-Code:
$f=fopen($file,'rb'); # ist zeile 1490 in fpdf.php
#$file = logo1.PNG 
rechte habe ich auch überprüft und es liegt nicht an denen
wenn ich die rechnungen so anschau - im browser - dann funktioniert es ja auch einwandfrei
ich habe das logo auch so versucht anzusprechen -> $_SERVER['DOCUMENT_ROOT'].'/logo1.PNG' und so logo1.PNG'
was könnte denn noch eine ursache für diesen fehler sein?
Mit Zitat antworten
  #11 (permalink)  
Alt 04-06-2007, 14:53
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

beim generieren von pdf wird wohl ein falscher pfad zu der png-datei angegeben.
Mit Zitat antworten
  #12 (permalink)  
Alt 04-06-2007, 17:30
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das wird es wohl sein, das kann ich aber noch suchen
zmindest war deine idee mit dem wrapper ein voller erfolg
mein wrapper:
PHP-Code:
ob_start();
include 
"pdfrechnung/Rechnung.php";
$data ob_get_contents();
$neuedatei"pdfrechnung/temp.php";
$fp fopen($neuedatei'w');
fwrite($fp$data); // ob_get_contents() in temp.php schreiben.
fclose($fp);
ob_end_clean();
// löschen muss ich ja die temp.php datei nicht, sondern ich überschreib sie jedesmal 
hier hier mein ausschnitt zum versenden
PHP-Code:
//Attachment anhängen
include "wrapper.php";
$file=  "pdfrechnung/temp.php";
$filename "Fresh-Webspace_Rechnung.pdf";
$mail->AddAttachment($file$filename); 
und fertig

danke dir nochmal @penizillin
Mit Zitat antworten
  #13 (permalink)  
Alt 04-06-2007, 17:50
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

achja die pfadangabe muss in die tiefen meines space gehen.
also nicht nur /html/meineordner sondern /srv/www/kkk/blablub/html.......
somit is alles fertig
Mit Zitat antworten
  #14 (permalink)  
Alt 21-08-2007, 11:08
brauni54
 Member
Links : Onlinestatus : brauni54 ist offline
Registriert seit: Feb 2005
Beiträge: 345
brauni54 ist zur Zeit noch ein unbeschriebenes Blatt
Standard neues problem

hallo, ich muss diesen thread eben mal wieder aufwärmen
folgendes problem:

ich möchte, im falle eines falles, eine email mit zwei generierten pdfs versenden.
meinen wrapper habe ich so umgebaut:
PHP-Code:
<?
if(preg_match("/Mahnung/i",$betreff))
{
ob_start();
include_once 
"pdfrechnung/Mahnschreiben.php";
$data2 ob_get_contents();
$neuedatei2"pdfrechnung/temp2.php";
$fp2 fopen($neuedatei2'w');
fwrite($fp2$data2); // inhalt von ob_get_contents() in eine temporäre datei schreiben.
fclose($fp2);
ob_end_clean();

ob_start();
include_once 
"pdfrechnung/Rechnung.php";
$data ob_get_contents();
$neuedatei"pdfrechnung/temp.php";
$fp fopen($neuedatei'w');
fwrite($fp$data); // inhalt von ob_get_contents() in eine temporäre datei schreiben.
fclose($fp);
ob_end_clean();
}
else
{
ob_start();
include_once 
"pdfrechnung/Rechnung.php";
$data ob_get_contents();
$neuedatei"pdfrechnung/temp.php";
$fp fopen($neuedatei'w');
fwrite($fp$data); # aus ob_get_contents() in eine temporäre datei schreiben.
fclose($fp);
ob_end_clean();
}
?>
leider geht das nicht einfach so, da im falle einer mahnung, der wrapper nicht mit dem zweiten file zurecht kommt.
fehlermeldung ist folgende:
Fatal error: Cannot redeclare class pdf in ....

ich denke, dass es an dem zweitem aufruf von ob_start() liegt. scheinbar sind immernoch die daten vom ersten ob_get_contens() vorhanden oder täusche ich mich da?
vielleicht hat ja jemand einen tip, wie sich die zwei files nicht in die haare kriegen
Mit Zitat antworten
  #15 (permalink)  
Alt 21-08-2007, 11:37
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Fatal error: Cannot redeclare class pdf in ....
ist doch sehr eindeutig ? Oder etwa nicht ?
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
Antwort

Lesezeichen


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

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:46 Uhr.