getimagesize Fehler - Erledigt

Gesperrt
kloevekorn
Beiträge: 199
Registriert: Mo 31. Okt 2005, 15:26
Wohnort: Hamburg
Kontaktdaten:

getimagesize Fehler - Erledigt

Beitrag von kloevekorn »

EDIT: So erledigt! Wer ganz unten liest, sieht, dass es an einem meiner Newsmodule lag.

Ich habe jetzt dort alles, was mit Bildern zu tun hat, aus dem Modul entfernt und es geht :-)

Warum das Modul immer funktionierte und der Fehler plötzlich aufgetreten ist .... Voodoo?


grüße!


Liebe Leute, nach geraumer Zeit benötige ich bitte wieder mal eure hilfe:

Version 4.6.4:

Werden im tinymce Bilder eingefügt, bekomme ich diese fiese Fehlermeldung im Frontend (und auch in der Artikelansicht im Backend):

Code: Alles auswählen

Warning: getimagesize(): Read error! in /.../contenido464/contenido/includes/functions.api.images.php on line 333

Warning: Division by zero in /.../contenido464/contenido/includes/functions.api.images.php on line 337

Warning: Division by zero in /.../contenido464/contenido/includes/functions.api.images.php on line 338

Warning: Division by zero in /.../contenido464/contenido/includes/functions.api.images.php on line 340

Warning: Division by zero in /.../contenido464/contenido/includes/functions.api.images.php on line 340

Warning: Division by zero in /.../contenido464/contenido/includes/functions.api.images.php on line 355
(pfade gekürzt wg. sicherheit)

Das Problem trat auch schon bei anderen auf, mindestens einmal, nämlich hier: http://www.contenido.de/forum/viewtopic ... 4336f51134. herrb hatte die passende Lösung parat. Diese bezieht sich darauf, den Aufruf der Funktion getimagesize anzupassen.

Mein Problem: Ich habe meine Bilder im tinymce (Modulcontainer CMS_HTML) eingefügt und da kann ich den Aufruf von getimagesize nirgends anpassen. In der DB habe ich mir das CMS_HTML angeschaut, der Aufruf von getimagesize ist dort überhaupt nicht definiert.

Andere Lösungsvorschläge bei verwandten Problemen mit getimagesize (z.B. Cache-Rechte anpassen u.a. haben nicht gefruchtet)

Habt ihr eine Idee? Danke![/b]
Zuletzt geändert von kloevekorn am Mi 5. Jul 2006, 12:51, insgesamt 3-mal geändert.
kloevekorn
Beiträge: 199
Registriert: Mo 31. Okt 2005, 15:26
Wohnort: Hamburg
Kontaktdaten:

HILFE!!!! getimagesize und tiny

Beitrag von kloevekorn »

Jetzt plötzlich (!) tritt der Fehler bei allen Seiten auf, die das besagte Modul verwenden, in denen das CMS_HTML Element drin ist. Unabhängig davon, ob Bilder eingefügt sind.

Nach besten Wissen und Gewissen habe ich den Urzustand aller Dateien wieder hergestellt, ich bin ja nicht völlig leichtsinnig und würde ohne Backup meiner Dateien arbeiten. (con_code ist geleert)

mit anderen Worten: HILFE!!!
kloevekorn
Beiträge: 199
Registriert: Mo 31. Okt 2005, 15:26
Wohnort: Hamburg
Kontaktdaten:

Beitrag von kloevekorn »

Neue Ergebnisse meiner Versuche:

Der Auslöser scheint ein (abgewandeltes) News-Modul zu sein, das verbürgter Weise immer funktioniert hat, und das ich nicht verändert habe. Jedenfalls taucht der Fehlertext innerhalb des News-<div> auf und wenn ich das Modul im Template herausnehme, ist auch der Fehler weg.

Dasselbe(!! ungelogen) Modul in anderen Templates bei gleicher Konfiguration ruft den Fehler nicht hervor!!! bis jetzt jedenfalls.

Der Modul-Output:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname  :      Newskasten
* Author(s)   :     Andreas Lindner, 4fb
* Copyright   :     Contenido - four for business, Andreas Lindner
* changed    :      16.12.2005 mvf, si("mehr"),18.12.2005 si (nur headlines)
* Created     :     12.08.2005
************************************************/

cInclude('classes', 'contenido/class.client.php');

cInclude('classes', 'class.article.php');
cInclude('includes', 'functions.api.string.php');
cInclude('includes', 'functions.api.images.php');

if (!is_object($tpl)) {
	$tpl = new Template;
}

$tpl->reset();

$sql = "SELECT
            htmlpath, frontendpath
        FROM
            ".$cfg["tab"]["clients"]." 
        WHERE
            idclient = ".$client." ";

$db->query($sql);

if ($db->next_record()) {
	$htmlpath = $db->f('htmlpath');
	$frontendpath = $db->f('frontendpath');
}

// selected category
$selcat = "CMS_VALUE[1]";
//echo "sel $selcat<br />";
$template = "teaser-standard-newskasten.html";
//echo "tpl $template<br />";
// anzahl der zeichen text
$mxtext = "CMS_VALUE[29]";

$limit = "CMS_VALUE[15]";

$cms_sort_direction = "CMS_VALUE[16]";
if ($cms_sort_direction == '') {
	$cms_sort_direction = 'desc';
}

if ("CMS_VALUE[3]" == "sortdate") {
	$order = 'lastmodified';
} else {
	$order = 'artsort';
}

$newsheadline = "CMS_VALUE[4]";

$tpl->set('s', 'TITLE', $newsheadline);

if (strlen($selcat) > 0 AND $selcat != '0') {
	$options = array ('idcat' => $selcat, "start" => false, "order" => $order, "direction" => $cms_sort_direction);

	$list = new ArticleCollection($options);

	$count = $list->count;

	if ($count > 0) {
		if (is_numeric($limit) AND strlen($limit) > 0) {
			if ($limit < $list->count) {
				$limit_art = $limit;
			} else {
				$limit_art = $list->count;
			}
		} else {
			$limit_art = $list->count;
		}

		for ($i = 0; $i < $limit_art; $i ++) {

			$article = $list->nextArticle();

			$article_id = $article->getField('idart');

			$teaser_img = '';
			if ($noimg != 'true') {
				$text_html = $article->getContent('CMS_HTML', 1);

				$regEx = "/<img[^>]*?>.*?/i";
				$match = array ();
				preg_match($regEx, $text_html, $match);

				$regEx = "/(src)(=)(['\"]?)([^\"']*)(['\"]?)/i";
				$img = array ();
				preg_match($regEx, $match[0], $img);
				$img_src = preg_split("/\//", $img[0]);

				$img_name = $img_src[count($img_src) - 1];
				$img_name = preg_replace("/\"/", "", $img_name);
				$img_split = preg_split("/\./", $img_name);
				$img_type = $img_split[count($img_split) - 1];

				$img_split2 = preg_split("/_/", $img_split[0]);

				$name = $img_name;

				if (count($img_split2) > 1) {
					$img_x = $img_split2[count($img_split2) - 1];
					$img_y = $img_split2[count($img_split2) - 2];

					if (is_numeric($img_x) AND is_numeric($img_y)) {
						$suffix = "_".$img_x."_".$img_y.".".$img_type;
						$name = preg_replace("/$suffix/", "", $img_name);
						$name = $name.".[a-zA-Z]{3}";
					}
				}

				$img_teaser = '';

				if (strlen($name) > 0) {
					$sql = "SELECT
													*
												FROM
													".$cfg["tab"]["upl"]." 
												WHERE
													filename REGEXP '$name' ";

					//echo "<pre>"; print_r($sql); echo "</pre>";

					$db->query($sql);

					if ($db->next_record()) {
						$filename = $db->f('filename');
						$dirname = $db->f('dirname');
					}

					$img_path = $cfgClient[$client]["upl"]["path"].$dirname.$filename;

					$img_size = "CMS_VALUE[14]";

					$img_teaser = capiImgScale($img_path, $img_size, $img_size, $crop = false, $expand = false, $cacheTime = 1000, $wantHQ = false);
				} // end if strlen

				if (strlen($img_teaser) > 0) {
					$teaser_img = '<img src="'.$img_teaser.'" class="teaser_img">';
				} else {
					$teaser_img = '';
				}

			} // end if noimg 		

			$headline = strip_tags($article->getContent('CMS_HEAD', 2));
			$headline = str_replace($replace, " ", $headline);
/*nicht nötig, weil nur die Headlines ausgegeben werden sollen:
					$subheadline = strip_tags($article->getContent('CMS_HEAD', 3));
						$subheadline = str_replace($replace, " ", $subheadline);
*/



			$teaserheadline = /*$subheadline."&nbsp;-&nbsp;".*/
			$headline;
			$href = $sess->url("front_content.php?idcat=$selcat&idart=$article_id");
			$teasertext = $article->getField('summary');

		         if (strlen(trim($teasertext)) == 0) {
            $teasertext = strip_tags($article->getContent('CMS_HTML', 1));
            $teasertext2 = $teasertext;
            $teasertext = capiStrTrimAfterWord($teasertext, $mxtext);
            if ($teasertext2 > $teasertext) {
               $teasertext.= ' ... <a href="'.$href.'" title="'.mi18n("Artikel weiterlesen").'" style="color:#blue;">'.mi18n("weiterlesen").'</a>';
            }
         
         } // end if   	
            

			$teasertext = $teasertext."&nbsp;";

			$tpl->set('d', 'HEADLINE2', $teaserheadline);
   
   /*nicht nötig, es sollen nur die Headlines ausgegeben werden:
            $tpl->set('d',"HEADLINE3",$subheadline);
			$tpl->set('d', 'TEXT', $teasertext);
			*/
		$tpl->set('d', 'HREF', $href);
	/*nicht nötig, es sollen nur die Headlines ausgegeben werden:
			$tpl->set('d', 'IMG', $teaser_img);
			*/
			/* nicht mehr nötig, weil das MORE abhängig von der Artikellänge in diesem Modul generiert wird:
		        $tpl->set('d', 'MORE', mi18n("mehr"));
		    */
			$tpl->next();

		} // end for

		$tpl->generate('templates/'.$template);


	}
	
}
?>
Wenn man die include-Zeile

Code: Alles auswählen

cInclude('includes', 'functions.api.images.php');
auskommentiert, funktioniert das Modul weiter, der Fehler kommt aber auch.


Nein, ich phantasiere nicht. (Hoffe ich doch ;-))
Gesperrt