Seite 2 von 4

Verfasst: 04.02.2007 15:03
von Miriam
Hm, hm, hm, Manne, Du hast natürlich recht, dass es da Sicherheitsprobleme gibt (daher der Admin-Login).
Speicher-Probleme könnte (und wird) es zugegebenermaßen bei einer grossen Datenmenge auch geben.

Andererseits ist das eher eine Omega als eine Beta Version. :) Und es sollte und ist auch nur ein Gedankenanstoss.

Und schon hast Du die Idee weiter ausgebaut. Super.

Wir sind jetzt also in der Psi Phase. *ggg* :roll:

*und ich lege noch 2 Cent drauf*

Verfasst: 08.02.2007 14:58
von Red-Benz
Hi

Wenn das so also nicht funktioniert

Wie kann ich dann aus einem ORDNER ( userpix ) die Anzahl der vorhandenen Dateien auslesen ?
Ich verwende den Upload Pic Mod und alle hochgeladenen Bilder befinden sich in dem Ordner, da verlinkte Bilder bei meinem Forum nicht so die Masse sind würde das auszählen der hochgeladenen auch schon reichen.


Bei der von Miriam geposteten Variante bekomme ich außer ner Warnmeldung kein Ergebnis.

Vieleicht hat dazu ja auch noch jemand ne verwertbare Idee !

Gruß

Red Benz

Verfasst: 08.02.2007 15:42
von Miriam
Die Idee, die ich hier gepostet habe ist verwertbar. Und mit Mannes Fix noch mehr.

Aber am verwertbarsten wäre die Warnmeldung gewesen, die Du auf Deinem Monitor gelesen hast.

Zum Thema: Auslesen der Gesamtzahl von Dateien in einem Verzeichnis -->
Da hätte Dir sicher selfPHP weiter geholfen:

Code: Alles auswählen

<?PHP
$dir = 'userpix';
$verz=opendir($dir);
$i=0;
echo "start<br />";
while($file = readdir($verz)){
  if($file != '.' && $file != '..') $i++;
}
closedir($verz);
echo $i;
?>

Verfasst: 08.02.2007 16:02
von Red-Benz
Ja Sorry

Aber das mit der Fehlermeldung ist ERLEDIGT

ich habe immer versucht das von dir gepostete

http://www.deinforum.de/count_str?str=.jpg

in den Browser einzugeben und da kommt nix

aber da mit

http://www.deinforum.de/count_str.php?str=.jpg

und wo genau kommt der von mad-manne gepostete Verbesserungsvorschlag hin ??

Wenn ich dein Script ausführe dauert das 1 Sec bei 6400 Beiträgen mit dem Ergebnis von 1800 Bildern !

Kann man das Ergebnis an die Datenbank übergeben und das Script alle 24 Stunden automatisch ausführen lassen ?



Zu diesem Thema

Code: Alles auswählen

<?PHP 
$dir = 'userpix'; 
$verz=opendir($dir); 
$i=0; 
echo "start<br />"; 
while($file = readdir($verz)){ 
  if($file != '.' && $file != '..') $i++; 
} 
closedir($verz); 
echo $i; 
?>
Wie kann ich das Textlich darstellen ??

Ich bin nicht wirklich das Genie in Sachen PHP deshalb brauche ich manchmal etwas länger um das gepostete zu verstehen, ne Anleitung für DUMME wie mich wäre manchmal nicht schlecht - :lol:

Gruß
Red Benz

Verfasst: 08.02.2007 16:40
von Miriam
Das mit dem Aufruf war mein Fehler... Habe ich schon geändert. Undter dem alten Link ist die gefixte Datei.
Du könntest sie etwas umbauen und per CRON immer zur selben Zeit ausführen lassen.

Wo soll die zweite Idee denn textlich dargestellt werden?

Verfasst: 08.02.2007 17:18
von Red-Benz
Klappt ja schonmal nicht schlecht mit uns Beiden :P DANKE

Wo soll die zweite Idee denn textlich dargestellt werden?

Auf der index Seite des Forums da ich kein Portal verwende !!

----------------------------------------------------------------------------------

Kann man in deinem Script auch statt der SUCHVARIABLEN einen festen Wert
/img
eingeben
mit /img bekomme ich alle Bilder egal mit welcher Endung und kann man den Code nicht auch in der functions.php oder index.php einbauen um das automatisch mit auszugeben so wie mein erster Versuch ?

mit CRON ?? WAT IS DAT ??
und wie würde ich das Ergebnis abrufbar für die index Seite haben, dazu müßte ich doch das Resultat der Abfrage in der Datenbank zum Abruf speichern oder irre ich da ??


Wenn ich zu doll NERVE kannst du es ruhig sagen aber ich freue mich das mal ein Problem zur Lösung gebracht wird - :oops:


Gruß

Red Benz

Verfasst: 08.02.2007 18:06
von Miriam
Also dann erzähl mal, was denn un Dein endgültiges Ziel ist... Ansonsten posten wir hier noch zig mal hin und her.

Verfasst: 08.02.2007 18:40
von Red-Benz
Hi

Mein Ziel war von Anfang an die Anzahl der Bilder aus Postings auszulesen !!

Nun habe ich aber festgestellt das ich mit /img alle Bilder erfassen kann gegenüber nur mit .jpg, was klar ist.

Dein Script funktioniert ja soweit wunderbar nur stellen sich mir eben die Fragen

Wie kann ich als festen Wert in deinem Script /img auswerten anstatt in der Browserzeile den Wert eingeben zu müssen und wie bekomme ich das Ergebnis weiter verwertbar irgendwohin gespeichert wel es ja letztendlich auf der indexSeite des Forums angezeigt werden soll. Dazu noch die Frage wie man die Abfrage AUTOMATISIEREN kann wozu du mir geraten hast dieses per CRON zu erledigen ich aber keine Ahnung habe was das ist weil wie ich schon erwähnte ich nicht der PHP Experte bin.
Daraus resultierend die Frage ob man deine Abfrage nicht auch gleich in der functions.php oder in der index.php ausführen kann, da die Auswertung sehr schnell abläuft und mein Forum wohl eher nie die hohen Postzahlen erreichen wird sehe ich da nicht wirklich ein Problem.

Das Ergebnis nur für mich als Admin erfüllt ja nicht den Zweck den ich damit erreichen will, da es sich um ein Auto-Forum handelt spiegeln die Anzahl der Bilder die Anzahl der wirklich interessanten Beiträge wieder und sind somit ein Werbemittel.

Das mit dem Ordner auslesen wäre nur ne Ersatzmöglichkeit die ja aber nicht die tatsächliche Anzahl der Bilder ausgibt.
Und durch die Feststellung das bei jedem Bild im Beitrag egal ob auf unserem Server liegend oder in einer Verlinkung der Tag /img vorkommt was ich ja auch mit deinem Script austesten konnte bin ich eben zu dem Ergebnis gekommen nicht .jpg sondern /img zu verwenden.


Ich hoffe du verstehst mich jetzt .. :oops:


Gruß

Red Benz

Verfasst: 08.02.2007 19:39
von Miriam
Na dann machen wir da eben eine function draus --->
Finde in includes/functions_post.php davor füge ein:

Code: Alles auswählen

function count_img($str)
{
         global $db;

         $search_str = str_replace("\'", "''", $str);
	$images = 0;

	$sql = "SELECT post_text FROM " . POSTS_TEXT_TABLE . "
         	WHERE post_text LIKE '%".$search_str."%'";
	if( !$result = $db->sql_query ($sql) )
	{
                 message_die(CRITICAL_ERROR, "Could not query post information", "", __LINE__, __FILE__, $sql);
	}
	else
	{
	         while ($row = $db->sql_fetchrow($result))
	         {
	                 $post_text = $row['post_text'];
	                 $post_text = strtolower($post_text);
	                 $images = $images + substr_count($post_text, $search_str);
	         }
	}
         return $images;
}
finde in index.php

Code: Alles auswählen

		'TOTAL_USERS' => sprintf($l_total_user_s, $total_users),

danach füge ein:

Code: Alles auswählen

		'IMAGES_ONLINE' => sprintf("Wir haben %s Bilder online", count_img('/img')),
finde in index_body.tpl

Code: Alles auswählen

<br />{NEWEST_USER}
danach füge ein:

Code: Alles auswählen

<br />{IMAGES_ONLINE}
Jetzt wird die verlinkte Anzahl der Bilder unter der Anzahl der reg. User auf dem Portal angezeigt.

Kannst die Variable {IMAGES_ONLINE} im Template aber hinbauen, wo Du willst.

Verfasst: 08.02.2007 20:16
von Red-Benz
SAUBER DAS GEHT; GLATTE 1 für DICH

Ich DANKE DIR FÜR DIESE AUSDAUERNDE UND GEDULDIGE HILFE !!

Ich könnte dich KNUDDELN !!

Manchmal dauert es halt etwas länger jemanden glücklich zu machen - :oops:


DANKE DANKE und in die Luft hüpf

Gruß

Red Benz