WebsiteBaker Logo
  • *
  • Templates
  • Help
  • Add-ons
  • Download
  • Home
*
Welcome, Guest. Please login or register.

Login with username, password and session length
 

News


WebsiteBaker 2.13.6 is now available!


Will it continue with WB? It goes on! | Geht es mit WB weiter? Es geht weiter!
https://forum.websitebaker.org/index.php/topic,32340.msg226702.html#msg226702


The forum email address board@websitebaker.org is working again
https://forum.websitebaker.org/index.php/topic,32358.0.html


R.I.P Dietmar (luisehahne) and thank you for all your valuable work for WB
https://forum.websitebaker.org/index.php/topic,32355.0.html


* Support WebsiteBaker

Your donations will help to:

  • Pay for our dedicated server
  • Pay for domain registration
  • and much more!

You can donate by clicking on the button below.


  • Home
  • Help
  • Search
  • Login
  • Register

  • WebsiteBaker Community Forum »
  • WebsiteBaker Support (2.12.x) »
  • General Help & Support »
  • Help en ondersteuning (dutch) »
  • getimagesize() werkt niet
  • Print
Pages: [1]   Go Down

Author Topic: getimagesize() werkt niet  (Read 10365 times)

Offline chairman

  • Posts: 26
getimagesize() werkt niet
« on: May 22, 2020, 11:11:40 PM »
Hallo mensen,

Al een paar avonden ben ik aan het prutsen met onderstaande code...

Werking van het script   Althans... bedoelde werking...
Met dit script (dit is een gedeelte ervan) kan ik een overzicht maken van onderliggende pagina's. Het script haalt de eerste img-tag uit de content van onderliggende pagina en zet de src-element in een variabele. Hiermee creëren we een thumbnail op de huidige pagina in een unordered list.

Om de afbeelding in verhouding te houden wordt gekeken welke maten de afbeelding heeft en wordt berekend wat deze moeten worden voor de thumbnail.

Code: [Select]

//if user is allowed to see the page's content, then we retrieve it:
$page_source = '';
if(($agg_settings['aggregate_hidden'] && ($item['visibility'] == 'hidden')) || $wb->show_page($item)){
$query = "SELECT * FROM ".TABLE_PREFIX."sections WHERE page_id = '" . $item['page_id'] . "' ORDER BY block, position ASC";
$sections_query = $database->query($query);
if($sections_query->numRows() >= 1) {
while($section = $sections_query->fetchRow()) {
$section_id = $section['section_id'];
$module = $section['module'];
if($section['module'] != 'enhanced_aggregator'){
ob_start();
include(WB_PATH.'/modules/'.$module.'/view.php');
$page_source .= ob_get_contents();
ob_end_clean();
}
}
}
}

$img_tag = get_first_element($page_source,'img');

// Filter de img-tag uit $img_tag
$find = '/<img.*src="(.*?)"/';
$match = preg_match($find, $img_tag, $img );

if ( $match ) {

// Afmetingen van het origineel ophalen.
list($width_orig, $height_orig) = getimagesize($img[1]);

// Check hoe groot de maximale maat mag zijn
$maxsize = $agg_settings['thumb_size'];

// Bepalen van de nieuwe afmetingen:
if($width_orig < $maxsize && $height_orig < $maxsize)
{
// -> breedte en hoogte < maxsize: niet resizen, originele afmetingen behouden.
$height = $height_orig;
$width = $width_orig;
}
elseif($width_orig < $height_orig)
{
// -> breedte < hoogte: de hoogte is de maxsize, de breedte naar verhouding aanpassen.
$height = $maxsize;
$width = round(($maxsize / $height_orig) * $width_orig);
}
else
{
// -> breedte > hoogte: de breedte is de maxsize, de hoogte naar verhouding aanpassen.
$height = round(($maxsize / $width_orig) * $height_orig);
$width = $maxsize;
}

$thumb = "<img src=\"" . $img[1] . "\" height=\"" . $height . "\" width=\"" . $width . "\" />";
// $thumb = "<img src=\"" . $img[1] . "\" height=\"" . $height . "\" width=\"" . $width . "\" />";

} else {
$thumb = "<h5>Geen afbeelding beschikbaar</h5>";
}

En dan gaat het met name om dit gedeelte:

Code: [Select]
// Filter de img-tag uit $img_tag
$find = '/<img.*src="(.*?)"/';
$match = preg_match($find, $img_tag, $img );

if ( $match ) {

// Afmetingen van het origineel ophalen.
list($width_orig, $height_orig) = getimagesize($img[1]);

Na de update naar 2.12.x werkte het gedeelte niet meer waar de afmetingen wordt opgehaald d.m.v. getimagesize().

Het vreemde is, als ik de locatie van de afbeelding handmatig in een string zet, bijvoorbeeld :
Code: [Select]
var_dump(getimagesize('http://localhost/fjorkahoeve/media/Fjorden/Bjorna/Bjorna.33.06.jpg'));werkt het wel, en krijg ik hiervan netjes de waardes terug, maar zo:
Code: [Select]
var_dump(getimagesize('$img[1]'));werkt het niet.

Als ik op mijn wampserver test met onderstaande code werkt alles prima, maar in de echte pagina, waar die het móet doen, daar werkt het niet...

Code: [Select]
<?php

$img_tag 
= '<img src="http://localhost/fjorkahoeve/media/Fjorden/Bjorna/Bjorna.33.06.jpg" "="';

// Filter de img-tag uit $img_tag
$find = '/<img.*src="(.*?)"/';
$match = preg_match($find, $img_tag, $img );

var_dump($img[1]);

echo 
"<br />";

var_dump(getimagesize($img[1]));

?>

Ten einde raad vraag ik om jullie hulp, wat mis ik of zie ik over het hoofd?

« Last Edit: May 22, 2020, 11:25:28 PM by chairman »
Logged

Offline LudwigSt

  • Posts: 449
  • Betatester
Re: getimagesize() werkt niet
« Reply #1 on: May 23, 2020, 03:27:14 PM »
Probeer het met
Code: [Select]
$find = '/<img.*src="(.*?)"/';
$match = preg_match($find, $img_tag, $img );
$info = [];
$size = getimagesize($img[1], $info);
echo $size[0];
echo "<br>";
echo $size[1];
Logged
LG Ludwig

Wissen ist Macht - aber nix wissen macht auch nix.

Offline chairman

  • Posts: 26
Re: getimagesize() werkt niet
« Reply #2 on: May 23, 2020, 04:13:24 PM »
Bedankt voor je reactie. Ik ga het proberen.   (Y)
Logged

Offline chairman

  • Posts: 26
Re: getimagesize() werkt niet
« Reply #3 on: May 23, 2020, 07:32:03 PM »
Helaas geen verschil...

Ook als ik het volgende doe,
Code: [Select]
<?php
    var_dump
($size);
?>


krijg ik bool(false)
« Last Edit: May 23, 2020, 07:40:48 PM by chairman »
Logged

Offline chairman

  • Posts: 26
Re: getimagesize() werkt niet
« Reply #4 on: May 23, 2020, 10:39:48 PM »
getimagesize werkt toch wel... In de variable stond een 'andere' link. Door de zelfde link in de variabele als de zelf-ingevulde link te gebruiken kwam ik er achter dat er een andere waarde in de variabele stond - string(62) - terwijl de zelf ingevulde string(55) bevat.

Omgezet van en naar HEX kwam ik er achter. Nu met een 'work-around' alles weer werkend gekregen.
Logged

  • Print
Pages: [1]   Go Up
  • WebsiteBaker Community Forum »
  • WebsiteBaker Support (2.12.x) »
  • General Help & Support »
  • Help en ondersteuning (dutch) »
  • getimagesize() werkt niet
 

  • SMF 2.0.19 | SMF © 2017, Simple Machines
  • XHTML
  • RSS
  • WAP2