tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von theunset
  • 1 Beitrag von Mairhofer
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
807
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Darian Darian ist offline Mitglied Platin
    Registriert seit
    Feb 2003
    Ort
    Guatemala
    Beiträge
    512
    Hallo Leute,

    es funktioniert zwar was ich mache, aber es gefällt mir nicht. Ist irgendwie unsauber. Darum wollte ich da nach fragen wie ihr es verbessern würdet.

    Wollte nur Pfade die zu Bildern führen, und in einem Array sind. Alles bis auf die Dateinamen abschneiden. Dann wird die URL vorher dran gemacht. Damt ich sie in HTML Code verwenden kann.

    Oder könnte ich auch /var/www...usw verwenden?

    PHP-Code:
    PHP-Code:
    $i 0;
        foreach(
    $files as $array) {
        
            
    $files[$i] = FOTOS_HOTEL_URL strrchr($array"/");
            
            echo 
    $files[$i];
            
            
    $i++;
        } 
    Mit array_walk(); hat es nicht so funktioniert. Würdet ihr mir das empfehlen?

    Das mit dem $i vorher ist ja auch irgendwie unschön.

    Freue mich über jede Information.

    lg Darian
     

  2. #2
    Avatar von xErY
    xErY xErY ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    161
    Hallo,

    ich verstehe ehrlich gesagt dein Problem nicht ganz, ich persönlich finde die Methode sauber und legithim. RUmgefuscht hast du nicht und das Ergebnis ist sauber.
    Was ich vielleicht nicht machen würde ist den Source-Array mit den Ergebnissen überschreiben, aber naja das ist Geschmackssache.
    LG XerY
     

  3. #3
    theunset theunset ist offline Mitglied Bronze
    Registriert seit
    Apr 2008
    Beiträge
    38
    Mit

    PHP-Code:
    foreach($Source as $Index => $Element
    bekommst du auch direkt den Index des Elements. Und wenns ein assoziatives ist stattdessen den Namen.
    Darian bedankt sich. 

  4. #4
    Registriert seit
    Mar 2004
    Beiträge
    490
    Hallo Darian,

    wolltest du das per array_walk so lösen?

    PHP-Code:
    // Testdaten aufsetzen
    DEFINE('FOTOS_HOTEL_URL''http://www.example.com/bild');
    $files[] = 'pfad/zu/bild1.jpg';
    $files[] = 'pfad/zu/bild2.jpg';
    $files[] = 'pfad1/zu/bild3.jpg';
    $files[] = 'pfad1/zu/bild4.jpg';
    $files[] = 'pfad2/zu/bild5.jpg';
    $files[] = 'pfad2/zu/bild6.jpg';
    $files[] = 'pfad3/zu/bild7.jpg';
    // kopieren der Testdaten für array_walk() test
    $files2 $files;
    // deine Version
    $i 0;
    foreach(
    $files as $array) {
        
    $files[$i] = FOTOS_HOTEL_URL strrchr($array"/");
        echo 
    $files[$i]."<br/>";
        
    $i++;
    }
    echo 
    "<pre>";
    print_r($files);
    echo 
    "</pre>";

    // per array_walk
    // callback function aufsetzen
    function cb_exchange_path(&$item$key$newPath)
    {
        
    $item $newPath strrchr($item"/");
    }
    // und nun der array_walk
    array_walk($files2'cb_exchange_path'FOTOS_HOTEL_URL);
    echo 
    "<pre>";
    print_r($files2);
    echo 
    "</pre>"
    Gruss
    Darian bedankt sich. 

  5. #5
    Darian Darian ist offline Mitglied Platin
    Registriert seit
    Feb 2003
    Ort
    Guatemala
    Beiträge
    512
    Danke Leute für die Antworten.

    Das mit dem foreach($Source as $Index => $Element) ist doch sauberer, habe ja gewusst dass es irgendwas gab.

    array_walk werde ich probieren. (sieht interessant aus, und habe ich noch nie gemacht) Obwohl mir beide Methoden gleich sauber vorkommen.

    Das $file überschreibe ich, weil ich es eh nicht mehr brauche, habe ich aber schon immer so gemacht. Fällt das auch unter "nicht schön"?

    Desweiteren habe ich mich gefragt wie ich mit strrchr das / auch weg haben könnte. Oder wie ich das machen könnte. Will dann nur den Dateinamen.

    Danke an euch für die Infos.

    lg aus Guatemala
    Darian
    Geändert von Darian (25.04.08 um 20:30 Uhr) Grund: Zusatzinfo
     

  6. #6
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    basename() könnte da was für dich sein.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  7. #7
    Darian Darian ist offline Mitglied Platin
    Registriert seit
    Feb 2003
    Ort
    Guatemala
    Beiträge
    512
    Danke, sehr fein, habe ich schon gelesen, bin dann aber irgenwie weiter (übersehen).

    basename wird es wohl werden.

    Danke für die Info
    Daniel
     

Ähnliche Themen

  1. Wie lösche ich array-elemente?
    Von delphinhawe im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 08.08.10, 09:52
  2. Im Array Elemente verschieben
    Von DrippleTripple im Forum Java Grundlagen
    Antworten: 3
    Letzter Beitrag: 19.03.09, 12:49
  3. mehrdim. Array einlesen. + Elemente bearbeiten
    Von devilofdawn im Forum Java
    Antworten: 2
    Letzter Beitrag: 01.07.07, 17:43
  4. Array Elemente
    Von Kleiner Wicht im Forum Borland CBuilder und VCL
    Antworten: 8
    Letzter Beitrag: 24.01.06, 19:30
  5. array-elemente vernichten
    Von deepgreen im Forum PHP
    Antworten: 2
    Letzter Beitrag: 29.12.01, 20:12