Tatsächliche Anzeigegröße von Bild

Wenn du es ausprobiert hättest, dann wüstest du das es funktioniert^^

Wobei "imgHref" der richtige Bezeichner für die Variable wäre.
 
Gibt es richtige Bezeichner :D ? Okay, semantisch wäre es wohl richtig, da hast du recht. Also ich schau mir hier grad die Dokumenation und ein Beispiel an, aber durch diesen $.post Befehl steig ich nicht durch.

Code:
$.post('datei.php', {height: imgHeight, width: imgWidth}, function(data){
   alert(data);
});

In der Klammer bezeichnet das erste, welche datei welche daten verarbeiten soll. Ich hab null check. Laut dokumentation kann man da so viele Werte übergeben mit denen ich nichts anfangen kann und ich weiß auch nicht, wie ich das Ergebnis aus meiner PHP Funktion zurück in dieses JS bekomme. Und wo steuer ich wo ich das Ergebnis dann ausgebe. Fragen über fragen - wenn du denkst ich sollte hier anfangen mich anderweitig damit zu beschäftigen als in einem forum, dann sag das ruhig :D
 
In deiner PHP-Datei schreibst du folgendes:
PHP:
function checkImgSizes($width,$height){
    return "Mein Bild ist " . $width . " breit und " . $height . " hoch!";
}
if(isset($_POST['height']) && isset($_POST['width'])){
  echo  checkImgSizes($_POST['width'],$_POST['height']);
}
Jetzt sollte bei deinem Alert im JS der oben gennante Satz ausgegeben werden.
 
Ja okay, als Alert, aber wie schreib ich das woanders hin? Ich meine bei mir läuft es ja darauf hinaus, dass ich weder ein Alert ausgeben will, noch den Inhalt eines Divs verändern, sondern einem href-Tag um ein Bild herum soll bei erfolgreicher abfrage ZUSÄTLICH das Attribut class="lightbox" hinzugefügt werden und bei negativem Ergebnis der Abfrage soll eben nichts passieren.

Achso und das ganze soll einmalig, nämlich beim Laden der Seite passieren.
 
Zuletzt bearbeitet von einem Moderator:
Dann in deiner PHP-Funktion true oder false zurückgeben.

Im JS das abfragen und je nach Bedingung setzt du das Attribut für den a-Tag.

sollte ungefähr so aussehen:
Code:
$(document).ready(function(){
   var imgWidth  = $('img').attr('width');
   var imgHeight = $('img').attr('height');
 
   $.post('datei.php', {height: imgHeight, width: imgWidth}, function(data){
       if(data == true) $('element').addClass('lightbox');
   });
});
 
Na das was du in deiner PHP-Funktion zurückgibst, kommt auch beim AJAX-Response an.

PHP:
function getMyTest($foo){
    if($foo === 'bar') return true;
    
    return false;
}

Code:
$.post('datei.php', {height: imgHeight, width: imgWidth}, function(data){
       if(data == true) $('element').addClass('lightbox');
   });
 
Hm. Also auch bei mehrfacher Überprüfung und Änderung der Selektoren von ID (#) in Class (.) finde ich einfach nicht die Denklücke, die verhindert, dass dies hier funktioniert ^^

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <title>phptesty</title>
  <script type="text/javascript">
  $(document).ready(function(){
   var imgWidth  = $('img.detailbild').attr('width');
   var imgHeight = $('img.detailbild').attr('height');
   var imgHref   = $('img.detailbild').attr('href');
   
   $.post('./functions.php', {height: imgHeight, width: imgWidth, href: imgHref}, function(data){
       if(data == true) $('a.detaillink').addClass('lightbox');
   });
});
  </script>
  </head>
  <body>
   <a href="#" class="detaillink" ><img src="./img/colors.jpg" class="detailbild" alt=""></a>
   
  </body>
</html>

PHP:
<?php
  $img['height'] = $_POST['height'];
  $img['width']  = $_POST['width'];
  $img['href']   = $_POST['href'];

  $bimg['href'] = $img['href'];

  if(file_exists($bimg['href'])) {
      $bimg_array = getimagesize($bimg['href']);
    
      if ($bimg_array[0] > $img['width'] OR $bimg_array[1] > $img['height']) {
          return true;
      } else {
          return false;
      }
  } else {
      return false;
  }
?>
 
Hahaaaa ich bin der burner :D Habe das auf der richtigen Seite die ganze Zeit probiert, jetzt dachte ich mir, bevor das ständig die Benutzbarkeit meiner Seite einschränkt mach ichs mal in einer Testumgebung :D Sorry, normal bin ich nicht so vor den Schrank gelaufen...

Ach Mensch es klappt trotzdem nicht :( egal was ich änder, es verändert sich nichts in der ausgabe :(

Oben in meinem Code konnte man sehen, dass das ausgegebene Bild natürlich genauso groß war wie das Original. Das habe ich jetzt verändert indem ich im Imagetag einfach die Angaben width="" und height="" angegeben habe. Klar - das gefällt mir auch nicht, würde es lieber mit CSS machen, aber so werden es die Benutzer in dem WYSIWYG wohl zumeist handhaben ^^
 
Zuletzt bearbeitet von einem Moderator:
Zurück