Ankündigung

Einklappen
Keine Ankündigung bisher.

Befüllen & Übergabe eines Arrays und Zugriff darauf in einer Funktion

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Befüllen & Übergabe eines Arrays und Zugriff darauf in einer Funktion

    Hallo zusammen, ich mache eine Datenbankabfrage und bekomme Bild URL's und die Dateinamen zurückgeliefert. Anschließend möchte ich per curl_multi_exec die Bilder parallel herunterladen. Das herunterladen funktioniert auch schon. Nur bei der Übergabe der Dateinamen habe ich Probleme und bekomme es nicht hin. Vielleicht kann mir ja jemand behilflich sein.

    PHP-Code:
    //Datenbankabfrage und Zuweißung
    $url1 $sp['url1'];
    $dateiname1 $sp['dateiname1'];

    // Array Zuweißung
    $data = array();
    array_push($data$url1);

    // Download der Bilder
    $r multiRequest($data);

    function 
    multiRequest($data) {

    // array of curl handles
    $curly = array();
    // data to be returned
    $result = array();

    // multi handle
    $mh curl_multi_init();

    // loop through $data and create curl handles
    // then add them to the multi-handle
    foreach ($data as $id => $d) {

        
    $path '/var/www/web28752739/html/test/' 'image_'$id.'.jpg';
        if(
    file_exists($path)) { unlink($path); }
        
    $fp fopen($path'x');

        
    $url $d;
        
    $curly[$id] = curl_init($url);
        
    curl_setopt($curly[$id], CURLOPT_HEADER0);
        
    curl_setopt($curly[$id], CURLOPT_FILE$fp);

        
    //fclose($fp);

        
    curl_multi_add_handle($mh$curly[$id]);
    }



    // execute the handles
    $running null;
    do {
        
    curl_multi_exec($mh$running);
    } while(
    $running 0);



    // get content and remove handles
    foreach($curly as $id => $c) {
        
    curl_multi_remove_handle($mh$c);

    }

    fclose($fp);


    // all done
    curl_multi_close($mh);

    Bei der Zeile "$path = '/var/www/web28752739/html/test/' . 'image_'. $id.'.jpg';" möchte ich statt die ID den Dateinamen aus der Abfrage. Wie muss ich die Dateinamen dem Array hinzufügen, damit ich diese dann in der Funktion verwenden kann? Ich hoffe das war verständlich erklärt.

    Hoffe mir kann jemand weiterhelfen MfG

  • #2
    Wenn ich es richtig sehe, ist $sp doch schon ein Array.
    Warum dann erst die Werte in Variablen schreiben und dann wieder ein anderes Array daraus machen?
    (Bloß weil es im Code-Beispiel aus dem Netz $data heißt?)

    Bitte Array Grundlagen lernen, wie man auf Keys und Values zugreift.
    In die Kategorie Fortgeschritten passt dein Thema sicher nicht.
    sorry, shift-taste kaputt

    Kommentar

    Lädt...
    X