• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Private Bilder

Werbung:
Ja, und diese php-Seite kann dann entscheiden ob der browser die daten bekommt oder nicht.
Okay das hört sich gut an. Wie genau legt das php Dokument fest ob der Browser die Daten bekommt? Allein durch das aufrufen der Bilder? Oder meintest du eine Methode mit der ich dies erst manuell durch ein Befehl bestimmen muss?
Danke
Freshmojojo
 
Werbung:
Leider ist jetzt genau das eingetreten was ich vermutet hatte ich kann weder über eine php Seite die sich im Hauptverzeichnis befindet noch über eine php Datei die sich innerhalb des Unterordners befindet, denn egal wie ich versuche an den Inhalt des Ordners zu kommen Verweigert er mir den Zugriff.
Code:
- public_html/zugriff_example.php  // hier kann man nicht auf die Daten Zugreifen (<img src="upload_private/bild1.jpg">)
- public_html/uploads_private
- public_html/uploads_private/.htaccess // im Unterordner liegt die .htaccess mit oben stehenden Inhalt
     - bild1.jpg
     - bild2.png
     - bild3.gif
      -zugriff2_example.php // auf diese php Datei kann ich garnicht zugreifen, hab es zB mit links von anderen Seiten versucht, jedoch ohne Erfolg.

Hab ich da jetzt ein Fehler gemacht ? So funktioniert es bei mir leider nicht :/ Gibt es irgendeine Codezeile mit der die php Seite Berechtigungen bekommt?
Lg
Freshmojojo
 
Werbung:
Sag' mal, liest du die Antworten nur halb oder garnicht? Dir wurde schon erklärt, dass das
- public_html/zugriff_example.php // hier kann man nicht auf die Daten Zugreifen (<img src="upload_private/bild1.jpg">)
nicht gehen kann! Dein Image-Tag muss z.B. so aussehen:
HTML:
<img src="image.php?file=bild1.jpg">
In image.php liest du mit den Grafikfunktionen das Bild ein und gibst es darin auch aus!
 
Sag' mal, liest du die Antworten nur halb oder garnicht? Dir wurde schon erklärt, dass das

nicht gehen kann! Dein Image-Tag muss z.B. so aussehen:
HTML:
<img src="image.php?file=bild1.jpg">
In image.php liest du mit den Grafikfunktionen das Bild ein und gibst es darin auch aus!

Sry Anfänger in Aktion... Wo genau muss ich denn nun den Unterordner mit angeben? Da die Datei in upload_private liegt.
So?
HTML:
<img src="image.php?file=upload_private/bild1.jpg">
Tut mir Leid für die dummen Fragen...
 
Werbung:
Zuletzt bearbeitet von einem Moderator:
Hallo,
ich denke auch das einfach vorsagen auch nicht der Sinn der Sache ist ich will dabei j auch was lernen...Nur leider Blicke ich das System hinter dieser Codezeile nicht:
Code:
<img src="image.php?file=bild1.jpg">
Tut mir leid aber da steh ich grad echt auf dem Schlauch... auf was genau die einzelnen Elemente Verweisen. Im internet hab ich leider auch nichts gefunden, da ich nicht wusste wie dieses Verfahren heißt vll einfach mal kurz erläutern was die einzelnen Dinge angeben und dann versteh ich mehr. Tut mir leid das ich grad so inkompetent bin :D
 
ich denke auch das einfach vorsagen auch nicht der Sinn der Sache ist
Ich sehe hier aber im Moment keine andere Möglichkeit
ich will dabei j auch was lernen...
Dann solltest du mal mit den Grundlagen anfangen, bevor du mit den Image-Funktionen rumhantieren willst.
Nur leider Blicke ich das System hinter dieser Codezeile nicht:
Warum nicht? Da wird keine Grafik aufgerufen, sondern ein PHP-Script, das die Grafil erzeugt
Tut mir leid aber da steh ich grad echt auf dem Schlauch...
Sorry, aber den Eindruck hinterlässt du schon die ganze Zeit.
Im internet hab ich leider auch nichts gefunden
Ich habe dir Links zur Doku gepostet!!! Würde Sinn machen, wenn du dir das auch mal richtig ansiehst!!!

Auf die Schnelle zusammengezimmert und ungetestet!!!
PHP:
<?php

  // Parameter übernehmen
  $file = isset($_GET['file']) ? './upload_private/' . $_GET['file'] : '';
 
  // Flag für Dummy-Erzeugung
  $createDummy = true;
 
  // Variable initialisieren
  $img = 0;
 
  // Prüfen, ob Datei existiert
  if (file_exists($file))
  {
    // Typ ermitteln
    $data = exif_imagetype($file);
   
    // Wenn Typ erkannt
    if ($data !== false)
    {
        // Bild einlesen
        switch ($data)
        {
          case IMAGETYPE_GIF:  $img = imagecreatefromgif($file);  break;
          case IMAGETYPE_JPEG: $img = imagecreatefromjpeg($file); break;
          case IMAGETYPE_PNG:  $img = imagecreatefrompng($file);  break;
        }
       
        // Wenn Bild eingelesen wurde
        if ($img)
        {
          // Dummy muss nicht erzeugt werden
          $createDummy = false;
         
          // Bild ausgeben
          switch ($data)
          {
              case IMAGETYPE_GIF:  header("Content-type: image/gif");  imagegif($img);  exit; break;
              case IMAGETYPE_JPEG: header("Content-type: image/jpeg"); imagejpeg($img); exit; break;
              case IMAGETYPE_PNG:  header("Content-type: image/png");  imagePng($img);  exit; break;
          }
        }
    }
  }
 
  // Irgendetwas ist schief gelaufen, Dummy erzeugen
  if ($createDummy)
  {
      // Dummy erzeugen
      $img = imagecreatetruecolor (16,16);
      // Weiß initialisieren
      $white  = imagecolorallocate($img, 255, 255, 255);
      // Image füllen
      imageFill($img, 0, 0, $white);
      // Rot initialisieren
      $red = imagecolorallocate($img, 255, 0, 0);
      // Linien diagonl zeichnen
      imageLine($img, 0,0,15,15, $red);
      imageLine($img, 0,15,15,0, $red);
      // Dummy ausgeben
      header("Content-type: image/jpeg");
      imagejpeg($img);
      exit;     
  }
?>

Auch wenn ich mir sicher bin, dass du davon nichts verstehst und das jetzt einfach blind übernimmst, nochmals der Hinweis: Lerne die Grundlagen, sonst läufst du hier weiterhin für jeden Kleinkram auf
 
Werbung:
Hey,
Danke jetzt weis ich auch was ihr die ganze Zeit meintet mir war halt noch nicht ganz bewusst, dass ich mit der GET Methode die variable für File übernehmen muss und dass mit den Dummies erzeugen hat mir auch nicht viel gebracht, da ich schon vorgefertigte Gif dummies habe die dann eingebledet werden. Da ich das ganze nur nebenbei in der "Freizeit" als Hobby mache ist mir leider noch nicht ganz die Zeit über geblieben mir alle Grundlagen intensiv anzueignen. Schade eigentlich. Hast du vll eine Empfelung (Buch, Webite etc.) wo man ALLE Grundlagen sich aneignen kann?
Danke für eure Hilfe jetzt funktioniert alles Grundliegende.
Freshmojojo
 
PHP-Tutorials gibt es wie Sand am Meer. Wie gut oder schlecht die alle aktuell sind, kann ich dir leider nicht sagen, da ich aus dem Status "Anfänger" schon etwas länger raus bin und ich mir deshalb schon länger keine Tutorials mehr angesehen habe. Was ich allerdings selber mal festgestellt habe, dass es wirklich gute Tutorials gibt, mit denen ein Anfänger echt was lernen kann. Aber! Es gibt leider auch noch völlig veraltete und/oder schlechte Tutorials im Netz, also Vorsicht!! Man kann damit nämlich auch eine Menge Blödsinn lernen. Ich selber habe mir PHP meist durch "Learning by Doing" beigebracht, in Foren die Quellcodes von den "Profis" angesehen und versucht diese zu verstehen.
Aber jeder lernt etwas anders, du musst selber deinen Weg finden.
 
Hi,

also wegen Tutorials hab ich zwei Links die man sich angucken könnte

1. http://www.peterkropff.de/site/php/php.htm
2. http://tut.php-quake.net/de/

Also mit den beiden Links solltest du so im groben die Grundlagen erlernen können und der Rest ist Learning by Doing, damit lernt man eigentlich am besten programmieren. Denn was bringt einem nur das theoretische wenn die Praxis fehlt.
Und für Learning by Doing hab ich auch noch eine der besten anlaufstellen.

http://php.net/docs.php

Man unterschätzt immer wie gut man aus der doku lernen kann :)
 
Werbung:
Für Learning by Doing kann ich auch noch http://www.codecademy.com/de empfehlen.
Allerdings wird es nicht reichen die Übungen nur einmal zu erledigen, denn es sind nur grobe Beispiele für das Grundwissen in PHP.
Aber wenn du nebenbei ein reines Text-Tutorial liest kannst du damit immerhin ein bisschen üben^^
 
Werbung:
Zurück
Oben