SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 07.02.2010, 13:22:05
BloodySword BloodySword ist offline
Anfänger
 
Registriert seit: Jan 2009
Alter: 36
Beiträge: 12
Bilder außerhalb von HTDOCS ablegen und per fpassthrough per PHP anzeigen

Hallo allerseits.

Ich habe folgende Idee:

Ich habe ein sehr großes Bilderarchiv, welches im Moment noch in HTDOCS liegt. Wenn ein
User also nicht in meinem Communitysystem registriert ist, den Pfad aber kennt, kann er jedes Bild problemlos im Browser einsehen. Dem möchte ich ein Riegel vorschieben.

Eine Lösung habe ich mir bereits überlegt, weiß aber nicht ob sich das so einfach bewerkstelligen lässt:

Ich lege die Bilder in einem Ordner außerhalb von HTDOCS ab und greife mit PHP darauf zu, sobald ein Bild geladen werden muss und gebe das Bild per fpassthru() aus.

Zurzeit sieht es so aus, klappt wunderbar:

PHP-Code:
  // Session starten
  
session_start();

  include (
"includes/sqlconnect.php"); //Mit Datenbank verbinden. Wird in $db geschrieben
  
include ("includes/checkuser.php"); //Prüfen ob die Session noch gültig ist


   /*-------------------------------------------*\
  |      Bild anhand ID ausgeben, Miniscript     |
  \*-------------------------------------------*/

  
if (isset($_GET['user_pic']) || isset($_GET['user_thumb']) || isset($_GET['pic_big'])
   || isset(
$_GET['pic_small']) || isset($_GET['pic_thumb']) || isset($_GET['pic_mt'])) {
    
//Bild einlesen
    
$galery_base="userdata/gallery/";
      if(isset(
$_GET['pic_big']))
      
$filename="{$galery_base}{$_GET['pic_big']}b.jpg";
    elseif (isset(
$_GET['pic_small']))
      
$filename="{$galery_base}{$_GET['pic_small']}s.jpg";
    elseif (isset(
$_GET['pic_thumb']))
      
$filename="{$galery_base}{$_GET['pic_thumb']}t.jpg";
    elseif (isset(
$_GET['pic_mt']))
      
$filename="{$galery_base}{$_GET['pic_mt']}mt.jpg";
    elseif (isset(
$_GET['user_pic']))
      
$filename="{$galery_base}user{$_GET['user_pic']}.jpg";
    elseif (isset(
$_GET['user_thumb']))
      
$filename="{$galery_base}user{$_GET['user_thumb']}th.jpg";

    
$img_base="images/gallery/";
    if(
file_exists($filename)===false) {
      if(isset(
$_GET['user_pic']))
        
$filename="{$img_base}noprofilepic.png";
      elseif (isset(
$_GET['user_thumb']))
        
$filename="{$img_base}noprofilepic96.png";
      elseif (isset(
$_GET['pic_big']) || isset($_GET['pic_small']) ||
              isset(
$_GET['pic_thumb']) || isset($_GET['pic_mt']))
        
$filename="{$img_base}nopic.png";
    }

    
$currdate=date("r");
    
$fildate=date("r",filemtime($filename));

    
$imginf=getimagesize($filename);
    
$fimg=fopen($filename"rb");
    if (
$imginf && $fimg) {
      
header("Date: {$currdate}");
      
header("Last-Modified: {$fildate}");
      
header("Content-Type: {$imginf['mime']}");
      
header("Cache-Control: public");
      
fpassthru($fimg);
      
$db->close(); unset($db); exit;
    } else {
      echo 
"Error opening picture!"$db->close(); unset($db); exit;
    }
  }

//(... weiterer Code der gesamten Galerie ...) 
Nun möchte ich den Ordner "userdata" außerhalb von HTDOCS verschieben.
Ist das ohne Weiteres möglich? Was muss ich einstellen, damit PHP auf diese
Dateien zugreifen kann?

Zurzeit läuft das Projekt noch lokal auf meinem Laptop in XAMPPLITE.

Vielen Dank im Voraus! :)

Geändert von BloodySword (07.02.2010 um 13:32:34 Uhr)
Mit Zitat antworten
  #2  
Alt 09.02.2010, 10:59:05
Benutzerbild von Domi
Domi Domi ist offline
Senior Member
 
Registriert seit: Nov 2003
Ort: Kempten @ Allgäu
Alter: 36
Beiträge: 1.408
AW: Bilder außerhalb von HTDOCS ablegen und per fpassthrough per PHP anzeigen

Hmmm,

also auf Linux mit Apache ist es auf jeden Fall möglich. Hab in den öffentlichen Verzeichnissen eigtl. auch immer nur eine index.php und noch paar Grafiken fürs Design und JS-Files. Alles andere gehört auch außerhalb meiner Meinung. Hab dafür unterstützend die Verzeichnisse in der Apache Conf angepasst, bzw "sites-available" wäre hier das Verzeichnis in dem du suchen musst :) .. weiß allerdings nicht, ob und wie das auf Windows läuft.

Domi
__________________

the best way to be ready for the future is to invent it
Mit Zitat antworten
  #3  
Alt 09.02.2010, 11:03:10
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Bilder außerhalb von HTDOCS ablegen und per fpassthrough per PHP anzeigen

Zitat:
Zitat von Domi Beitrag anzeigen
weiß allerdings nicht, ob und wie das auf Windows läuft.
eine alternative wäre, einen virtuellen host einzurichten und dort das öffentlich zugängliche verzeichnis einzutragen. beispiel hier: einrichten eines v-hosts

cx
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP Code als Text anzeigen 9536 PHP Grundlagen 5 23.09.2003 17:00:37
Daten aus PHP in HTML Seite anzeigen?? Coder PHP für Fortgeschrittene und Experten 11 20.03.2003 21:06:18
Daten mittels parsen von PHP auf HTML anzeigen lassen!? Coder PHP für Fortgeschrittene und Experten 2 14.03.2003 13:39:27
Professionelle Lösung von php + Bilder +include maho15 PHP für Fortgeschrittene und Experten 9 19.12.2002 20:34:13
PHP in HTML Datei anzeigen christarth PHP Grundlagen 3 02.06.2002 19:36:52


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:47:58 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt