php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.07.2008, 22:06  
Erfahrener Benutzer
 
Benutzerbild von TAZweb
 
Registriert seit: 14.07.2008
Beiträge: 147
PHP-Kenntnisse:
Fortgeschritten
TAZweb befindet sich auf einem aufstrebenden Ast
TAZweb eine Nachricht über AIM schicken TAZweb eine Nachricht über MSN schicken TAZweb eine Nachricht über Yahoo! schicken TAZweb eine Nachricht über Skype™ schicken
Standard [Erledigt] stdClassObjekt nach String durchsuchen

Ich sollte wahrscheinlich einen Thread mit meinem Namen öffnen...
Aber einiges an meinem Wissen ist einfach nicht aufzuarbeiten:

Wie kann ich ein stdClassObjekt nach einem String durchsuchen?
In PHP.net Manuals kann ich leider nichts dazu finden?
Beim Google auch nicht.

So ich es richtig verstanden habe, ist dies ein 3Dimensionales Array. Mit der Function array_search funktioniert dies leider nicht - folgende Fehlermeldung:
Zitat:
Warning: array_search() [function.array-search]: Wrong datatype
for second argument in D:\xampp\htdocs\tazroot\aufbau_mail
\de_mail.imap_1.php
on line 118
Ich möchte gerne aus folgendem Text nur gerne prüfen,
ob das Wort Attachment oder attachment zu finden ist. Am liebsten mit if(ist in $TEXT zu finden) {ja} {nein}:

Zitat:
stdClass Object
(
[type] => 1
[encoding] => 0
[ifsubtype] => 1
[subtype] => MIXED
[ifdescription] => 0
[ifid] => 0
[ifdisposition] => 0
[ifdparameters] => 0
[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => boundary
[value] => 0-452015107-1216306090=:10386
)


)

[parts] => Array
(
[0] => stdClass Object
(
[type] => 1
[encoding] => 0
[ifsubtype] => 1
[subtype] => ALTERNATIVE
[ifdescription] => 0
[ifid] => 0
[ifdisposition] => 0
[ifdparameters] => 0
[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => boundary
[value] => 0-980918426-1216306090=:10386
)

)

[parts] => Array
(
[0] => stdClass Object
(
[type] => 0
[encoding] => 4
[ifsubtype] => 1
[subtype] => PLAIN
[ifdescription] => 0
[ifid] => 0
[lines] => 4
[bytes] => 323
[ifdisposition] => 0
[ifdparameters] => 0
[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => charset
[value] => utf-8
)

)

)

[1] => stdClass Object
(
[type] => 0
[encoding] => 4
[ifsubtype] => 1
[subtype] => HTML
[ifdescription] => 0
[ifid] => 0
[lines] => 8
[bytes] => 699
[ifdisposition] => 0
[ifdparameters] => 0
[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => charset
[value] => utf-8
)

)

)

)

)

[1] => stdClass Object
(
[type] => 5
[encoding] => 3
[ifsubtype] => 1
[subtype] => GIF
[ifdescription] => 0
[ifid] => 0
[bytes] => 1158
[ifdisposition] => 1
[disposition] => attachment
[ifdparameters] => 1
[dparameters] => Array
(
[0] => stdClass Object
(
[attribute] => filename
[value] => working.gif
)

)

[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => name
[value] => working.gif
)

)

)

[2] => stdClass Object
(
[type] => 0
[encoding] => 3
[ifsubtype] => 1
[subtype] => PLAIN
[ifdescription] => 0
[ifid] => 0
[lines] => 32
[bytes] => 1976
[ifdisposition] => 1
[disposition] => attachment
[ifdparameters] => 1
[dparameters] => Array
(
[0] => stdClass Object
(
[attribute] => filename
[value] => rcf.txt
)

)

[ifparameters] => 1
[parameters] => Array
(
[0] => stdClass Object
(
[attribute] => name
[value] => rcf.txt
)

)

)

)

)
Solltet Ihr keine Idee haben, werd' ich wohl alles einzeln Abfragen müssen...

Danke im vorraus
__________________

TAZweb ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.07.2008, 22:13  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Hallo TAZweb,

am besten sagst du uns, was du wirklich vorhast.
Was ist das für ein Objekt, woher kommt diese Ausgabe?
Für mich klingt das ganze so, als ob du nicht weißt was ein Objekt ist und wie man auf Attribute zugreift....
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 18.07.2008, 08:20  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

@agrajag: ein stdClass Objekt wird zum Beispiel durch mysql_fetch_object erstellt. Aber du hast recht, er sollte uns sagen was er vor hat...
cycap ist offline  
Alt 18.07.2008, 08:55  
Erfahrener Benutzer
 
Benutzerbild von TAZweb
 
Registriert seit: 14.07.2008
Beiträge: 147
PHP-Kenntnisse:
Fortgeschritten
TAZweb befindet sich auf einem aufstrebenden Ast
TAZweb eine Nachricht über AIM schicken TAZweb eine Nachricht über MSN schicken TAZweb eine Nachricht über Yahoo! schicken TAZweb eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von agrajag Beitrag anzeigen
Hallo TAZweb,

am besten sagst du uns, was du wirklich vorhast.
Was ist das für ein Objekt, woher kommt diese Ausgabe?
Für mich klingt das ganze so, als ob du nicht weißt was ein Objekt ist und wie man auf Attribute zugreift....
$array->wert

Zitat:
Zitat von cycap Beitrag anzeigen
@agrajag: ein stdClass Objekt wird zum Beispiel durch mysql_fetch_object erstellt. Aber du hast recht, er sollte uns sagen was er vor hat...
Aber ihr habt recht, ein stdClassObject ist mir bis jetzt noch nicht unter gekommen...

Ich bin dabei EMails, die per IMAP vom Mailserver (kabelhomepage.de) abzurufen, den Header in eine MySQL-Datenbank abzuspeichern (<- was schon geschehen ist) und den Mailtext ggf. auch die Attachments als Datei abzuspeichern.

Das Objekt stammt somit aus:
PHP-Code:
$PO=@imap_open("{imap.kabelhomepage.de:143}INBOX","Benutzername","Passwort")
 or die
  (
"
   Verbindung 'de_mail.IMAP@user:pass=true' konnte nicht geoeffnet werden!
   <p id='alert_center'>$errorList</p>
  "
);

if(
$PO)
 {
  
$ifs=imap_fetchstructure($PO,$ex,0);
 }
/*
$ex ist die Nachrichtennummer, die per Schleife alle Nachrichten durchgeht
$ifs ist dann jenes stdClassObjekt, welches ich auslesen kann, aber nicht
in ihm suchen kann!
*/ 
Das anzeigen, bzw. abspeichern des Mailtextes klappt zu meiner zufriedenheit,
in dem ich jeden Part nach den Worten PLAIN bzw. HTML prüfe (die nicht im
Parameter Attachment stehen haben). Je nach dem dann die Dateiendung txt
oder htm. Das gleiche gilt auch für Attachments.

Aber da manch' Mail mit oder eben ohne Attachment gesendet
wird (und jene ja immer in Unterschiedlichen Parts zu finden sind) will ich
vorher erst einmal prüfen, ob in jenem imap_fetchstructure Objekt das Wort
Attachment vorkommt. Somit könnte ich ja die Ladezeit des WebMailers
extrem verkürzen (sollte kein Attachment zu finden sein) oder eben eine
suchAttachment.php includen, die dann doch etwas umfangreicher wird.

Ich weiß...
Zitat:
Zitat von Nikosch77-new
"Die dümmsten Programmierer haben die längsten Programme."
Ich meine einen String, kann mann ja auch nach vorhandenen Wörtern
prüfen... Das muss doch auch mit einem Objekt gehen?


Es ist ja nicht so, dass ich kompletter PHP-Neuling bin und mir alles im Web
kopiere! Meine ersten Quellen sind Bücher wie "Programmieren lernen in PHP4"
von Jörg Krause oder "PHP4 - Webseiten dynamisch programmieren" von
Weichselbaum. Zu Objekten finde ich aber leider nur "7.1 Das erste Objekt"
wo ich eine Klasse schreiben kann, die die Sinnigkeit jener Klasse in Prozent
und Gif-Balken ausgibt...

Ich hoffe ich konnte euch Zufrieden stellen und eure Frage beantworten.



Achso: Das ganze soll ein Selbsläufer sein... Also, wer den WebMailer nutzt und seine Nutzerdaten auf der eigentlichen WebSite eingegeben hat, wird so nebenbei gleich mal alle Nachrichten vom Server abrufen und entsprechend speichern! Deswegen muss ich mir ja sicher sein, dass alles klappt, bzw. so kurze Ladezeiten wie möglich erreichen!
__________________


Geändert von TAZweb (18.07.2008 um 09:00 Uhr). Grund: Achso...
TAZweb ist offline  
Alt 18.07.2008, 23:35  
ElPresidente
Gast
 
Beiträge: n/a
Standard

Wenn dir eine Funktion nun true oder false liefert, weisst du immer noch nicht wo sich das Attachment befindet. Du musst schon selbst wissen wo du suchen willst. Andernfalls durchsuchst du vielleicht den Nachrichtentext oder andere irrelevante Eigenschaften, die den Wert aber durchaus enthalten könnten.

PHP: property_exists - Manual

Falls nicht kannst du dein stdClass Objekt aus ganz normal als Array casten, falls das fuer dich einfacher ist.

PHP-Code:
<?php
foeach 
($stdClassObject as $property => $value) {
 
// ..
}
?>
 
Alt 19.07.2008, 14:22  
Erfahrener Benutzer
 
Benutzerbild von TAZweb
 
Registriert seit: 14.07.2008
Beiträge: 147
PHP-Kenntnisse:
Fortgeschritten
TAZweb befindet sich auf einem aufstrebenden Ast
TAZweb eine Nachricht über AIM schicken TAZweb eine Nachricht über MSN schicken TAZweb eine Nachricht über Yahoo! schicken TAZweb eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von ElPresidente Beitrag anzeigen
Wenn dir eine Funktion nun true oder false liefert, weisst du immer noch nicht wo sich das Attachment befindet.
Stimmt... Das Attachment würde ich finden, aber die Suche würde Ladezeit der Seite in Anspruch nehmen. Würde das schon mit string-funktionen rauskriegen ob parameter -> attachment und value->filename ist. Erst dann soll das array hinsichtlich der Attachment inhalte aufgelöst werden.

Die Klassen- und Objekt-Funktionen werd ich mir mal zu Gemüte führen.

Melde mich ob' klappt oder nicht...

Danke Dir

mfg TAZweb
__________________

TAZweb ist offline  
Alt 21.07.2008, 08:38  
Erfahrener Benutzer
 
Benutzerbild von TAZweb
 
Registriert seit: 14.07.2008
Beiträge: 147
PHP-Kenntnisse:
Fortgeschritten
TAZweb befindet sich auf einem aufstrebenden Ast
TAZweb eine Nachricht über AIM schicken TAZweb eine Nachricht über MSN schicken TAZweb eine Nachricht über Yahoo! schicken TAZweb eine Nachricht über Skype™ schicken
Standard Nun ja...

Die proberty_exist() führt nicht ganz zum gewünschtem Ergebniss...

Sie liefert WAHR wenn eine Eigenschaft vorhanden ist, aber leider nur auf oberster Ebene. Ich könnte mit dieser Funktion die Klasse auch auserinandernehmen, aber da würde ich , glaube ich, auf's gleiche Ergebniss kommen, wie mit IF-Abfragen ob disposition->attachment==TRUE

Danke trotzdem...

WebMailer ist so gut wie fertig. Sicher noch etwas instabil, aber ich werd' mir soviel wie möglich Mails mit Attachments schicken, das ich das Ding schon hinbekomme!!!

DANKE


Gruß TAZARD!
__________________

TAZweb ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Output einer Datei in einen String speichern christoph_999 PHP Tipps 2008 5 24.07.2008 18:11
[Erledigt] String mit mehreren Leerzeichen in Array wandeln Kurby PHP Tipps 2008 13 24.07.2008 16:06
[Erledigt] String markieren und einfärben alexxtwentyeight PHP Tipps 2008 10 17.06.2008 13:35
[Erledigt] per PHP Ordner durchsuchen borsty PHP Tipps 2008 8 19.05.2008 00:28
Event abfangen Ambience JavaScript, Ajax und mehr 4 30.08.2007 14:36
String durchsuchen und ersetzen unabhängig von Groß / KLein PHP Tipps 2006 2 09.07.2006 23:29
String durchsuchen - Spam Problem mit Gästebuch havok PHP Tipps 2006 23 15.03.2006 18:44
String nach bestimmten Zeichen durchsuchen PHP Tipps 2006 11 03.02.2006 11:51
string splitten und nach bestimmten wörtern durchsuchen PHP Tipps 2005-2 5 11.09.2005 13:05
Alle Felder nach String durchsuchen Jacks Rache Datenbanken 6 08.08.2005 09:46
Alle Spalten nach String durchsuchen Jacks Rache Datenbanken 0 05.08.2005 09:41
[Erledigt] String nach best. Zeichen durchsuchen PHP-Fortgeschrittene 10 19.07.2005 19:21
String durchsuchen und Zeichenkette ersetzen PHP Tipps 2005-2 2 10.07.2005 22:48
string durchsuchen Sclot PHP Tipps 2005 6 23.01.2005 17:08
reguläre ausdrücke: string durchsuchen PHP Tipps 2004 8 20.09.2004 09:46

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
stdclass object durchsuchen, php object durchsuchen, javascript object durchsuchen, javascript objekt durchsuchen, http://www.php.de/php-tipps-2008/2136-erledigt-stdclassobjekt-nach-string-durchsuchen.html, borsty 1976, php object(stdclass) durchsuchen, imap.kabelhomepage.de, javascript object nach string durchsuchen, array_search object, kabelhomepage email abfragen, stdclass object string suchen, stdclass object bestimmten wert, stdclass object ( [0], array_search php object, object(stdclass)#2 (0) { }, php array_search stdclass object, array_search stdclass, ersetzen php stdclass object, stdclass property_exists

Alle Zeitangaben in WEZ +1. Es ist jetzt 21:11 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum