Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Problem mit Funktion range

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Problem mit Funktion range

    Hallo wertes Forum.

    Ich muss hier Fremdcode modifizieren, da der Typ, der das gebastelt hat nicht mehr zur Verfügung steht. Ich hab von PHP wenig bis keine Ahnung, habe es aber zumindest versucht. Leider vergeblich.
    Der anhängende Code prüft ob in einem Ordner Bilder liegen und generiert entsprechende URLs. Z.Zt. sind die Bildernamen respektive URLs in der Form z.B: 1200.jpg, 1200_a.jpg, 1200_b.jpg, usw. Das hat gut geklappt. Ich muss jetzt allerdings dafür sorgen, dass das in Zukunft nach dem Muster 1200.jpg, 1200_01.jpg, 1200_02.jpg, usw. geschieht. Das gelingt mir nicht. ich konnte nicht mehr versuchen, als $picpool = range(01,99); Geschrieben werden dann aber nur die ersten URLs. Also z.B. 1200.jpg. Alles danach fehlt. Entsprechende jpgs liegen aber im Ordner.

    Ich würde mich riesig freuen, wenn mir da jemand helfen könnte. Vielen Dank!

    Aus Berlin Oliver

    PHP-Code:
    <?php
    include('artikelnr.php');

    $artikelnr $artikelnr_array[0] . $artikelnr_array[1];
            
            
    $picpool range('a' 'z');
    if (
    file_exists("/var/Daten/Blubb/2010/" $artikelnr "_" current($picpool) . ".jpg")){
        
    $image_url[] = "http://www.Blubb.de/produkt_pix/" $artikelnr ".jpg";
        
    $image_url[] = "http://www.Blubb.de/produkt_pix/" $artikelnr "_" current($picpool) . ".jpg";
        while (
    file_exists("/var/Daten/Blubb/2010/" .  $artikelnr "_" next($picpool) . ".jpg")){
            
    $image_url[] = "http://www.Blubb.de/produkt_pix/" $artikelnr "_" current($picpool) . ".jpg";
                        }
    }
    else{
        
    $image_url[] = "http://www.Blubb.de/produkt_pix/" $artikelnr ".jpg";
        }
    $image_url implode("," ,$image_url);
    ?>


  • #2
    Wenn ich das richtig sehe, sollte das doch reichen:
    PHP-Code:
    $files glob("/var/Daten/Blubb/2010/" $artikelnr "*.jpg"); 
    Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

    Kommentar


    • #3
      @UHA: danke für die fixe Antwort. Was genau ersetzt Dein Code? ALLES? Sorry, bitte für nen Deppen erklären. Ein solcher bin ich. ^^

      Kommentar


      • #4
        Nö, ich erkäre da mal garnichts, du könntest ja einfach mal in der Doku nachsehen, was die Funktion glob macht.

        Siehe http://de2.php.net/manual/de/function.glob.php
        Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

        Kommentar


        • #5
          okay. hab ich dann mal gemacht. ich fürchte allerdings, Du überschätzt meine Skills. Ich verstehe, dass Dein Code wohl ne enorme Vereinfachung darstellt, mir ist aber nicht klar, wie ich das einpflege. Gehts nicht auch mit dem schlechten, existierenden Code, mit wenigen Modifikationen? Danke für Deine Hilfe!

          Kommentar


          • #6
            Zitat von ollibee Beitrag anzeigen
            Gehts nicht auch mit dem schlechten, existierenden Code, mit wenigen Modifikationen? Danke für Deine Hilfe!
            Klar geht das, wir können auch noch einen Knoten reinprogrammieren, aber welchen Sinn soll das haben?
            PHP-Code:
            $files glob("/var/Daten/Blubb/2010/" $artikelnr "*.jpg");  
            foreach (
            $files as $file)
              
            $image_url[] = "http://www.Blubb.de/produkt_pix/" basename($file); 
            Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

            Kommentar


            • #7
              ich konnte nicht mehr versuchen, als $picpool = range(01,99); Geschrieben werden dann aber nur die ersten URLs. Also z.B. 1200.jpg. Alles danach fehlt. Entsprechende jpgs liegen aber im Ordner.
              Das hättest dann aber leicht fixen können, schau mal, was bei folgender Zeile rauskommt:
              PHP-Code:
              echo sprintf'%02d'); 
              Allerdings ist in Gesamtbetrachtung die Variante von uha die bessere!
              Competence-Center -> Enjoy the Informatrix
              PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

              Kommentar


              • #8
                @UHA. da geht was! Allerdings schreibt er jetzt immer ALLE verfügbaren URLs zu ALLEN Artikelnummern in die CSV (das passiert später). Bei existierenden Code werden lediglich für die jeweilige Artikelnummer die URLs generiert. So sieht mein/Dein Code jetzt aus:
                PHP-Code:
                <?php
                include('artikelnr.php');

                $files glob("/var/Daten//Ebay/EBAY_Artikelpics/2010/nn/" $artikelnr "*.jpg");
                foreach (
                $files as $file)
                $image_url[]= "http://www.st-store.de/produkt_pix/" basename($file);

                $image_url implode("," ,$image_url);
                ?>

                Kommentar


                • #9
                  Wo ist diese Zeile hin?
                  PHP-Code:
                  $artikelnr $artikelnr_array[0] . $artikelnr_array[1]; 
                  Mal ehrlich, du hast anscheinend Null Ahnung, also warum strickst du an irgendwelchen Scripts rum?
                  Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

                  Kommentar


                  • #10
                    @Uha: da klappt was! Allerdings wird jetzt für jede Artikelnummer JEDE existierende URL generiert, also für Artikelnr 1234 auch die urls für 1235, 1236, usw.. Es muss aber so sein, dass nur die URLs der jeweiligen Artikelnummer erzeugt wird. So ist das zur Zeit. image_url wird später in eine CSV Datei passend zur Artikelnummer geschrieben. Deinen Code hab ich folgendermaßen -hoffentlich korrekt verwendet:
                    PHP-Code:
                    <?php
                    include('artikelnr.php');

                    $files glob("/var/Daten/Blubb/2010/nn/" $artikelnr "*.jpg");
                    foreach (
                    $files as $file)
                    $image_url[]= "http://www.Blubb/produkt_pix/" basename($file);

                    $image_url implode("," ,$image_url);

                    ?>
                    @Arne: verstehe ich leider nicht. Wo genau kommt das hin? Sorry for Noobism..

                    Kommentar


                    • #11
                      Liest du auch die Antworten, die du bekommst oder überfliegst du die nur grob? Siehe Posting #9
                      Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

                      Kommentar


                      • #12
                        Anderer Ansatz:
                        PHP-Code:
                        $sArticleNumber $artikelnr_array[0] . $artikelnr_array[1];
                        $aAllArticleImages glob'/var/Daten/Ebay/EBAY_Artikelpics/2010/nn/' $sArticleNumber '*.jpg' );

                        $images_url array_merge$images_url$aAllArticleImages ); 
                        Competence-Center -> Enjoy the Informatrix
                        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                        Kommentar


                        • #13
                          Uha: haste fein gemacht. läuft. und: hast recht. ich hab mal so dermaßen überhaupt keinen plan, was ich hier mache. meine kernkompetenz liegt woanders. ein post war auch tatsächlich doppelt. hatte nicht gesehen, dass ich den schon mal abgeschickt hatte. hab NATÜRLICH gelesen, was du geschrieben hast. nochmals: danke, danke, danke!

                          Arne: ich probier deins auch noch mal aus. Lieben Dank für Dein Engagement. DANKE!

                          Kommentar


                          • #14
                            Arne hat nen Slash im Pfad von Glob verbummelt. Wir reduzieren selbstredend seine heutige Keks-Ration.
                            [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                            Kommentar


                            • #15
                              Au verdammt... Korrigiert, danke... Krieg ich nun doch noch meine Ration Kekse?
                              Competence-Center -> Enjoy the Informatrix
                              PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                              Kommentar

                              Lädt...
                              X