Antworten auf deine Fragen:
Neues Thema erstellen

PHP | Pfad trotz leerzeichen auslesen

waldmannvonritter

Nicht mehr ganz neu hier

Hallo zusammen, habe ein kleines Galeriescript erstellt was mit einen Ordner ausliest, eine Photowall anhand des Inhaltes anzeigt und beim anklicken das Bild vergrößert. Als beschriftung wird die Dateibeschriftung verwendet.

Alles Funktioniert wunderbar, ausser das laden der Bilder bei der Photowall. Diese ist wie folgt aufgebaut:
- pro datei/Bild wird ein Div erzeugt
- der Div erhält als hintergrundbild die ausgelesene datei
- beim klick wird das eigentliche bild per lightbox angezeigt

Ich habe soviel in erfahrung bringen können das die Leerzeichen das Problem sind. Wie könnte man dies beheben ohne die Beschriftung zu verändern (z.B. mit unter -/ oder bindestrich zwischen den wörtern)

hier der Code:
PHP:
$directory = 'galerie_unser_haus';

$allowed_types=array('jpg','jpeg','gif','png');
$file_parts=array();
$ext='';
$title='';

$i=0;

$dir_handle = @opendir($directory) or die("Die Pfadangabe zum Galerieordner stimmt nicht.");

while ($file = readdir($dir_handle)) 
{
    if($file=='.' || $file == '..') continue;
    
    $file_parts = explode('.',$file);
    $ext = strtolower(array_pop($file_parts));

    $title = implode('.',$file_parts);
    $title = htmlspecialchars($title);
    
    //    $sonderzeichen = array(' ');
    //    $ersatzzeichen = array('_');
    //    $title = str_replace($sonderzeichen, $ersatzzeichen, $file);
    //    var_dump($file);
    
    $nomargin='';
    
    if(in_array($ext,$allowed_types))
    {
        if(($i+1)%3==0) $nomargin='nomargin';
    
        echo '
        <div class="pic '.$nomargin.'" style="background:url('.views.'/'.galerie.'/'.$directory.'/'.$file.') no-repeat 50% 50%;">
        <a href="'.views.'/'.galerie.'/'.$directory.'/'.$file.'" title="'.$title.'" target="_blank">'.$title.'</a>
        </div>';
        
        $i++;
    }
}

closedir($dir_handle);
hoffe jemand hat nen Tipp oder ne Idee für mich.

Lg Tomas
 

Duddle

Posting-Frequenz: 14µHz

AW: PHP | Pfad trotz leerzeichen auslesen

Wenn du mit CSS ein Hintergrundbild setzt muss dieser Pfad als Zeichenkette angegeben werden. Die Browser erlauben da gewisse Flexibilität, aber du stolperst dann eben bei Sonderfällen wie deinem über diese Unachtsamkeiten.

Änder also die Zeile
PHP:
<div class="pic '.$nomargin.'" style="background:url('.views.'/'.galerie.'/'.$directory.'/'.$file.') no-repeat 50% 50%;">
in folgende
PHP:
<div class="pic '.$nomargin.'" style="background:url(\''.views.'/'.galerie.'/'.$directory.'/'.$file.'\') no-repeat 50% 50%;">
Ausserdem solltest du dort noch das "views" und "galerie" richtig beschreiben. Falls es Variablen sind, fehlen die Dollarzeichen. Falls es feste Bestandteile des Pfades sind, musst du die Anführungszeichen richtig setzen. Das siehst du schon an der farblichen Markierung im Editor.


Duddle
 

waldmannvonritter

Nicht mehr ganz neu hier

AW: PHP | Pfad trotz leerzeichen auslesen

Danke für die Korrektur! Ich war wriklich unachtsam. Das passiert halt wenn man sich zu sehr auf etwas konzentriert, was am ende garnicht so relevant war. Ich war total darauf fixiert mein Problem mit "str_replace" zu fixen und bin daran hängengeblieben anstatt mal in Ruhe den Code zu betrachen.

Vielen Dank!
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.476
Mitglieder
67.559
Neuestes Mitglied
hanuta
Oben