PHP Einen Text ausgeben in einer Datei ..

ReDSL

Cadet 2nd Year
Registriert
Okt. 2007
Beiträge
21
Hallo CB Gemeinde,

meine überschrift ist vielleicht ein bissle blöd gewählt, aber im grossen und ganzen ist das so schon richtig

Ich habe eine Bilder Hosting Webseite (Basierend auf dem MatPo.de IHS Script) und möchte das dort wenn einer sich ein Bild anschaut oben eine kleine Zeile steht so in der art wie bei Imageshack...

Z.B: Dies ist eines von xx Bildern auf www.xxxxxxx.de! Laden auch Sie Ihre Bilder hier kostenlos hoch!

Sowas soll oben denn über dem Bild angezeigt werden.

Wer kann mir bei sowas behilflich sein.

Script stelle ich gerne zur verfügung ect.

Würde mich über eine (Positive) antwort hier sehr freuen!


LG
ReDSL
 
Das ganze wird doch wohl über eine Datenbank laufen, also könntest du ganz einfach die Anzahl der Bilder in der DB zählen, oder nicht?

Wäre gut zu wissen, wie das ganze aufgebaut ist.
 
wenn du PHP5 hast sonst einfach dateien zählen lassen per scandir().
da kannst du ja dann ausschliessen lassen was du willst (z.B. Thumbs oder Log daten).

aber grundsätzlich wird, wie Mr. Snoot sagte, das ganze wohl auf einer DB basieren, daher einfach da die einträge zählen lassen und dann ausgeben.
 
Naja ich habe mich wohl blöde ausgedrückt.

Also in erster Linie geht es mir darum über dem Bild eine kleine Textzeile anzeigen zu lassen, das alleine würde mich schon voranbringen.

Sonst mal kontaktaufnahme: ICQ 380572099

MfG
ReDSL

Keiner da der mir helfen kann / möchte?

:(

LG
DSL
 
Zuletzt bearbeitet von einem Moderator: (Beiträge zusammengeführt.)
Huhu!

Es geht mir nicht darum die anzahl der Bilder anzeigen zu lassen.

Ich möchte nur das eine Text zeile über dem Bild steht, das ist ja schon mein Problem.

Ich bekomme die Zeile da nicht hin, dann führt er das php script nichtmehr aus ..
 
In dem Fall wäre es besser zu postest mal den Code mit dem Du den gewünschten Text einbinden wolltest.

--blindfoxx
 
OK, denke aber Ihr müsstet euch das ganze script mal anschauen, aber ich lass mich gerne eines besseren belehren ...

Hier der Code der Bild.php:

PHP:
<?php
/*
- Autor Mathias Possinke
- Copyright 2006-2007 Matpo.de / Mapos-Scripts.de
*/

// Counter aus damit die Besucher nicht von dieser Seite gezählt werden 
$MATPO_COUNTER_AUS = 1;

// include Config    
define('IN_MATPO', "true");
require_once('./config.inc.php');

if (isset($_GET['bild']) and isset($_GET['bild_name'])){
    $PATH_INFO = '';
}
elseif (isset($_SERVER["PATH_INFO"])){
    $PATH_INFO = $_SERVER["PATH_INFO"];
}
elseif (isset($_SERVER["ORIG_PATH_INFO"])){
    $PATH_INFO = $_SERVER["ORIG_PATH_INFO"];
}else{
    $PATH_INFO = '';
}
if (empty($PATH_INFO))
{
    $tumbnail = isset($_GET['tumbnail']) ? filter_int($_GET['tumbnail']) : 0;
    $bild_id = isset($_GET['bild']) ? filter_int($_GET['bild']) : '';
    $bild_name = isset($_GET['bild_name']) ? urldecode($_GET['bild_name']) : '';
}
else
{
    $tumbnail = "";$bild_id = "";$bild_name = "";
    $PATH_INFO = explode(",", substr($PATH_INFO, 1), 3);
    if (count($PATH_INFO) >= 3){
        list($tumbnail, $bild_id, $bild_name) = $PATH_INFO;
    }else{
        list($bild_id, $bild_name) = $PATH_INFO;
    }
    $tumbnail = filter_int($tumbnail);
    $bild_id = filter_int($bild_id);
    $bild_name = urldecode($bild_name);
}


if (!empty($bild_id) and !empty($bild_name))
{
    $abfrage = "SELECT * FROM ".TABELLE_BILDER." WHERE id = '$bild_id' and url = '".mysql_real_escape_string($bild_name)."'";
    $ergebnis = $matpo_sql->sql_query($abfrage);
    if($bild = $matpo_sql->sql_fetch_object($ergebnis))
    {
        $bild_id = $bild->id;
        $bild_name = $bild->url;
        $bild_user_id = filter_int($bild->user_id);
        $bild_time = $bild->time;
        $bild_ip = $bild->ip;
        $bild_aufrufe = $bild->aufrufe;        
        $bild_root_link = UPLOADER_DIR.$config->bilder_ordner."/".$bild_name;
    
      $bild_groesse_bb = @filesize($bild_root_link);
      $bild_groesse_kb = round($bild_groesse_bb/1024, 2);
      $bild_groesse_mb = round($bild_groesse_bb/1024/1024, 2);
        zugriffsrechte ($bild_root_link, 0777);
        
        $bild_info = new Matpo_Bild($bild_root_link);
        if (!$bild_info->error)
        {
            switch($tumbnail)
            {
                case 1:
                    // Ohne Balken
                    $bild_info->tumbnail_bildlink = sprintf ($bild_info->tumb_bildlink, 1);
                    $bild_info->tumbnail($config->tumbnail_breite, $config->tumbnail_hoehe);
                    
                break;
                case 2:
                 // Mit Balken
                 $bild_info->tumbnail_bildlink = sprintf ($bild_info->tumb_bildlink, 2);
                     $text_balken = $bild_info->breite."x".$bild_info->hoehe." ".$bild_groesse_kb."KB";
                    $bild_info->tumbnail($config->tumbnail_breite, $config->tumbnail_hoehe, $text_balken);
                break;
                case 3:
                    // Bild My Archiv
                    $bild_info->tumbnail_bildlink = sprintf ($bild_info->tumb_bildlink, 3);
                    $bild_info->tumbnail("161", "161");

                break;
                case 4:
                    // Bild ACP Archiv
                    $bild_info->tumbnail_bildlink = sprintf ($bild_info->tumb_bildlink, 4);
                    $bild_info->tumbnail("100", "100");
                break;
                default:
                    $bild_aufrufe++;
                    $matpo_sql->sql_query("UPDATE ".TABELLE_BILDER." Set aufrufe = '$bild_aufrufe' WHERE id = '$bild_id'");  
                    
                    if ($bild_user_id >= 1)
                    {
                        $user_traffic = $matpo_sql->sql_query("SELECT traffic FROM ".TABELLE_USER." WHERE id = '".$bild_user_id."'");
                        if ($user_traffic = $matpo_sql->sql_fetch_row($user_traffic))
                        {
                            $user_traffic = filter_int($user_traffic[0]+$bild_groesse_bb);
                            $matpo_sql->sql_query("UPDATE ".TABELLE_USER." Set traffic = '$user_traffic' WHERE id = '$bild_user_id'"); 
                        } 
                    }
                    // Bild Normal
                  
                    if ($config->wasserzeichen[0] == 1 and $bild_info->breite >= $config->wasserzeichen[3] and $bild_info->hoehe >= $config->wasserzeichen[4])
                  {
                            $bild_info->wasser_zeichen();        
                    }
                    else
                    {
                        @header('Content-type: '.$bild_info->mime);
                        @header('Content-Disposition: inline; filename="'.$bild_name.'"');
                        @header('Content-Length: '.$bild_groesse_bb);
                        @readfile($bild_root_link) or die ("404 Datei($bild_root_link) nicht gefunden");        
                    }
                break;
            }
        }
        else
        {
            $matpo_sql->sql_query("DELETE FROM ".TABELLE_BILDER." WHERE id = '$bild_id'");
            header("Location: ./".BILD_PHP);
        }
    }
    else
    {        
        $text = "Das Bild wurde nicht gefunden.";
        header ("Content-type: image/JPEG");
        $schrift_groeße = 3;
        $text_px = strlen($text)*($schrift_groeße*2.35);
        $Bild = ImageCreateTrueColor($text_px,$schrift_groeße+11);
        $hintergrund = ImageColorAllocate ($Bild, 255, 255, 255);
        imagefill ($Bild, 0, 0, $hintergrund);
        $text_color = ImageColorAllocate ($Bild, 255, 0, 0);
        ImageString ($Bild, $schrift_groeße, 1, 1, $text, $text_color);
        ImageJPEG ($Bild);
    }
}
else
{
    $text = "KEIN BILD.";
    header ("Content-type: image/JPEG");
    $schrift_groeße = 3;
    $text_px = strlen($text)*($schrift_groeße*2.35);
    $Bild = ImageCreateTrueColor($text_px,$schrift_groeße+11);
    $hintergrund = ImageColorAllocate ($Bild, 255, 255, 255);
    imagefill ($Bild, 0, 0, $hintergrund);
    $text_color = ImageColorAllocate ($Bild, 255, 0, 0);
    ImageString ($Bild, $schrift_groeße, 1, 1, $text, $text_color);
    ImageJPEG ($Bild);
}
$matpo_sql->sql_close();
?>
 
Zuletzt bearbeitet:
Du solltest uns den Teil Posten, an dem Das Bild in die WebSite eingebunden wird, damit können wir mehr anfangen.
 
Vielleicht kann sich der eine oder ander bitte mal mit mir in ICQ, Skype, MSN auseinandersetzen, das wär klasse.

Denke das geht denn beser ...


Aber nochmals für alle:

Ich füge in ein Forum diesen Thumb ein:



Wenn man draufklickt sieht man ja das Bild.

Und über dem Bild möchte ich das dort eine Textzeile steht wo denn steht z.b. Dieses Bild wird bei PicUploader.de gehostet! Lade auch Du deine Bilder hier hoch...
 
Zuletzt bearbeitet: (vetippt)
Den Text müsstest du schon mit auf das Bild schreiben.
Da du mit
PHP:
@header('Content-type: '.$bild_info->mime);
                        @header('Content-Disposition: inline; filename="'.$bild_name.'"');
                        @header('Content-Length: '.$bild_groesse_bb);
dem Browser sagst, dass es sich um ein Bild handelt.
Und wenn du dann normalen Text an den Browser sendest, kann er damit nichts anfangen.
 
habe ich soweit verstanden, aber wie löse ich nun die problematik?
 
ich würds ja so machen das die leute nen link kriegen

www.meinedomain.de/getbild.php?bild_id=ID_DES_BILDES

getbild.php sucht dir aus dem ordner/db wo die bilder liegen das entsprechende bild heraus mit der ID die übergeben wurde und stellt dir halt ne html webseite dar wo das bild ist und deine texte/werbung etc.

die id des bildes sollte aber irgendwie verschlüsselt sein damit nich jeder durch rumprobieren fremde bilder angucken kann
 
Meine güte was macht ihr bitte hier...

Das was hier gemacht wird ist folgendes:
Der image hoster nimmt das bild, kopiert es in ein geringfügig größeres bild, und fügt oben den text ein.
Das kannst du z.b. mit dem image library von php machen. Sobald das bild hochgeladen wird, erstellst du ein neues bild das ein paar pixel höher ist, und fügst das hochgeladene bild unten ein, und schreibt mit den image funktionen oben den text rein:

allgemein image:
http://de.php.net/manual/de/book.image.php

ansonsten wirst du noch diese funktionen benötigen:

Bild kopieren und verkleinern (für thumbnail)
http://de.php.net/manual/de/function.imagecopyresampled.php

ein neues bild erstellen (alte thumbnail größe + ein wenig höher)
http://de.php.net/manual/de/function.imagecreatetruecolor.php

Das bild als gif speichern oder ausgeben:
http://de.php.net/manual/de/function.imagegif.php

text ins bild einfügen:
http://de.php.net/manual/de/function.imagefttext.php

ein hochgeladenes jpg bild auslesen und in eine rousource umwandeln (wird von php benötigt um damit arbeiten zu können...)
http://de.php.net/manual/de/function.imagecreatefromjpeg.php

ähnliche funktionen gibts für gif png usw...


aber all das ist möglicherweise recht aufwändig, wenn man sich mit dem image library noch nicht auskennt.. mir gefällt das image library von php nicht besonders gut..
es gibt aber auch noch andere libraries wie zb imagick, aber das ist nicht überall installiert.
 
junge junge, ich glaube ich lass es ...

Euro lösungen sind natürlich alle gut und schön, aber für einen Noob wie mich ist das alles viel zu kompliziert (leider)

Schade eigentlich, aber naja, was solls ....

Danke euch allen trozdem ganz dolle für eure lösung-vorschläge und co.

MfG
DSL
 
sollen wir dir vieleicht alles programmieren? man sollte so einen dienst schon mti gewissen kenntnissen betreiben...
 
ruhig bleiben!

Learning bei doing!

Ich werde mir das ganze php zeugs mal reinziehen und mal sehen über kurz oder lang bekomme ich das schon hin.
 
Zurück
Oben