Ankündigung

Einklappen
Keine Ankündigung bisher.

Gesucht: php-Script für Funktion "Neue Seite"

Einklappen

Neue Werbung 2019

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

  • Gesucht: php-Script für Funktion "Neue Seite"

    Bin seit einiger Zeit auf der Suche nach einem php-Script, das in einem Ordner, der html-files enthält, jenes mit der höchsten Zahl in der Benennung dupliziert und mit einer um 1 erhöhten Benennung abspeichert.

    Beispiel:
    Ein Ordner enthält die Dateien 01.html bis 13.html, andere Dateien, zB Bilder u.a.( welche vom Script ignoriert werden) und das php-Script.
    Das Aufrufen der php-Datei (zB: newpage.php) erzeugt im selben Ordner eine neue Datei "14.html", deren Inhalt identisch mit 13.html ist.
    (Die neue Seite wird dann über das geniale Ajax-Script QuickChange editiert.)
    Beim nächsten Aufruf wird dann 14.html zu 15.html duplizert usw. - Ende nie.
    -
    Um schnoddrigen Besserwissern a la "GidF" zuvorzukommen:
    wenn ich noch eine Woche danach google und dabei soviel php lerne, wie in der vergangenen, schreib ich mirs eh selber - würde mich aber trotzdem sehr über Input auf diesem Weg freuen - die Problemstellung ist auf Google recht schwierig deutlich zu formulieren.

  • #2
    [MAN]copy[/MAN] ?

    Kommentar


    • #3
      Ich frage wirklich, weil es mich interessiert - wozu kann man es verwenden, wenn sich Seiten fortlaufend duplizieren - vielleicht kann ich das ja selber mal gebrauchen.

      Wäre dankbar für eine freundliche Antwort - bin ja selber noch am Lernen.

      Kommentar


      • #4
        Danke für den Link - es wird wohl eine Kombination aus `copy´und `rename´ werden
        (gegoogelt hab ich natürlich immer nach `duplicate´...)

        Kommentar


        • #5
          Zitat von UdoDirk Beitrag anzeigen
          Ich frage wirklich, weil es mich interessiert - wozu kann man es verwenden, wenn sich Seiten fortlaufend duplizieren - vielleicht kann ich das ja selber mal gebrauchen.

          Wäre dankbar für eine freundliche Antwort - bin ja selber noch am Lernen.
          Wie schon oben erwähnt - die duplizierte Seite wird mit QuickChange editiert und gewinnt somit eigenen Inhalt. (Das Scipt schreibt einfach direkt in die html-Datei rein - auch danach hab ich lang gesucht... und gefunden!)

          Im Zusammenhang mit einem upload/resize - Script für Bilder ergibt das ein sehr einfaches und intuitiv bedienbares CMS
          -
          In diesem Fall für eine Malerin, die kaum Computerwissen mitbringt, aber trotzdem eigenständig Material auf ihre Seite stellen will.
          Die gleichbleibenden Bereiche sind nicht editierbar, ansonsten funktionierts bis jetzt bestens.
          Nur die Funktion "Neue Seite" bzw. "Seite löschen " steht noch aus...

          Kommentar


          • #6
            Warum einfach wenns auch schwer geht: eine laufende ID als Dateiname, Datei-Inhalt = News-Beitrag. Das wäre ja fast wie: MySQL-Datenbank -> News Table, 2 Datenfelder ( ID + Content ).

            Okay:
            PHP-Code:
            # [ directory index holen ( dir() ) ... und in $files speichern, dateien die nicht behandelt werden sollen aus dem array entfernen, z.b.: '.' & '..' ]
             
            $files rsort($files);
             
            $file $files[0];
             
            $item explode("."$file);
             
            $newfile = ((integer)$item[0]++).$item[1];
             
            $file_data file_get_contents($file);
             
            file_put_contents($newfile$file_data); 
            bei einer datenbank hätte es jetzt ein einziges query getan..
            [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


            • #7
              Zitat von tr0y Beitrag anzeigen
              Warum einfach wenns auch schwer geht
              Passend zu deinem Beispiel Ich zumindest finde solche Konstrukte mit dir() und Dateinamen mit explode() auseinandernehmen umständlich, wo es doch seit SPL so schöne Möglichkeiten gibt, auf dem Dateisystem zu arbeiten:

              PHP: DirectoryIterator - Manual
              PHP: GlobIterator - Manual
              PHP: SplFileInfo - Manual
              [IMG]https://g.twimg.com/twitter-bird-16x16.png[/IMG][URL="https://twitter.com/fschmengler"]@fschmengler[/URL] - [IMG]https://i.stack.imgur.com/qh235.png[/IMG][URL="https://stackoverflow.com/users/664108/fschmengler"]@fschmengler[/URL] - [IMG]http://i.imgur.com/ZEqflLv.png[/IMG] [URL="https://github.com/schmengler/"]@schmengler[/URL]
              [URL="http://www.schmengler-se.de/"]PHP Blog[/URL] - [URL="http://www.schmengler-se.de/magento-entwicklung/"]Magento Entwicklung[/URL] - [URL="http://www.css3d.net/"]CSS Ribbon Generator[/URL]

              Kommentar


              • #8
                Zitat von fab Beitrag anzeigen
                Passend zu deinem Beispiel Ich zumindest finde solche Konstrukte mit dir() und Dateinamen mit explode() auseinandernehmen umständlich, wo es doch seit SPL so schöne Möglichkeiten gibt, auf dem Dateisystem zu arbeiten:

                PHP: DirectoryIterator - Manual
                PHP: GlobIterator - Manual
                PHP: SplFileInfo - Manual
                PHP-Code:
                $obj = new oFiler(getcwd());
                $file $obj->tools->dropExtension($obj->current->getLastSortedByName());
                $file = ((integer)$file++).'.html';
                $obj->current->copy($obj->current->getLastSortedByName(), $file); 
                @TE: Ne die Klasse kriegst du nich, meins! DU lernst das jetzt.
                @fab:
                [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


                • #9
                  Ich nehme an, dass das Erhöhen der laufenden Nummer und das Erzeugen der neuen Datei durch einen User erfolgt, der auf der Site irgendwas geklickt hat.
                  Dann stellt sich natürlich die Frage, wie man das Datenchaos beseitigt das dann entsteht, wenn zwei oder mehr Leute zugleich klicken.
                  Das ganze scheint mir eher ein Design-Error zu sein - die zugrundeliegende Aufgabenstellung ist einfach falsch gelöst.
                  [PHP]if ($var != 0) {
                  $var = 0;
                  }[/PHP]

                  Kommentar


                  • #10
                    Seh ich auch so: benutz ne datenbank !
                    [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


                    • #11
                      Zitat von Wolla Beitrag anzeigen
                      Ich nehme an, dass das Erhöhen der laufenden Nummer und das Erzeugen der neuen Datei durch einen User erfolgt, der auf der Site irgendwas geklickt hat.
                      Dann stellt sich natürlich die Frage, wie man das Datenchaos beseitigt das dann entsteht, wenn zwei oder mehr Leute zugleich klicken.
                      Das ganze scheint mir eher ein Design-Error zu sein - die zugrundeliegende Aufgabenstellung ist einfach falsch gelöst.
                      Es benutzt ja nur eine einzige Person und scheint keine große Anwendung werden zu wollen, da kann man das als Anfänger schonmal so machen

                      @tr0y: vergiss es, ich hatte nicht daran gedacht dass die diversen DirectoryIterators keine Sortierung mitbringen, ansonsten hätte das übersichtlich in wenige Zeilen gepasst a la

                      PHP-Code:
                      $it = new GlobIterator('*.html');
                      $fileInfo end($it);
                      $newFileName = ($fileInfo->getbaseName('.html') + 1) . '.html'
                      [IMG]https://g.twimg.com/twitter-bird-16x16.png[/IMG][URL="https://twitter.com/fschmengler"]@fschmengler[/URL] - [IMG]https://i.stack.imgur.com/qh235.png[/IMG][URL="https://stackoverflow.com/users/664108/fschmengler"]@fschmengler[/URL] - [IMG]http://i.imgur.com/ZEqflLv.png[/IMG] [URL="https://github.com/schmengler/"]@schmengler[/URL]
                      [URL="http://www.schmengler-se.de/"]PHP Blog[/URL] - [URL="http://www.schmengler-se.de/magento-entwicklung/"]Magento Entwicklung[/URL] - [URL="http://www.css3d.net/"]CSS Ribbon Generator[/URL]

                      Kommentar


                      • #12
                        Zitat von tr0y Beitrag anzeigen
                        Seh ich auch so: benutz ne datenbank !
                        - das ist, wie mit Kanonen auf Spatzen schießen: man trifft sie nicht einmal, obwohl ein Riesending in Gang gesetzt wurde!

                        Ich habe mich in letzter Zeit durch viele datenbankgestützte CMS Lösungen gegoogelt, und die allermeisten sind so mühsam zu bedienen, daß es eigentlich vernünftiger scheint, gleich html zu lernen (und php natürlich, aber bitte alles der Reihe nach)!
                        Ich glaube, die Zukunft für die Manipulation von content liegt eher in Websites, in die der Text einfach reingeschrieben oder -kopiert wird (siehe QuickChange) - der Bildwechsel per drag&drop ist ja auch nicht mehr weit.

                        Und wenn wir neue Seiten brauchen, dann gehen wir ins FTP und kopieren sie manuell, und nebenher räumen wir gleich unser Datenchaos ein bißchen auf... *gg*

                        -
                        Vielen Dank für eure wertvollen Überlegungen!

                        Kommentar


                        • #13
                          Zitat von brehdif Beitrag anzeigen
                          - das ist, wie mit Kanonen auf Spatzen schießen: man trifft sie nicht einmal, obwohl ein Riesending in Gang gesetzt wurde!

                          Ich habe mich in letzter Zeit durch viele datenbankgestützte CMS Lösungen gegoogelt, und die allermeisten sind so mühsam zu bedienen, daß es eigentlich vernünftiger scheint, gleich html zu lernen (und php natürlich, aber bitte alles der Reihe nach)!
                          Ich glaube, die Zukunft für die Manipulation von content liegt eher in Websites, in die der Text einfach reingeschrieben oder -kopiert wird (siehe QuickChange) - der Bildwechsel per drag&drop ist ja auch nicht mehr weit.

                          Und wenn wir neue Seiten brauchen, dann gehen wir ins FTP und kopieren sie manuell, und nebenher räumen wir gleich unser Datenchaos ein bißchen auf... *gg*

                          -
                          Vielen Dank für eure wertvollen Überlegungen!
                          Mit Planeten auf Ameisen schießen: typo3.org: Home

                          "Absolut und ganz egal was realisieren, einfach und Schnell": Content Management System, Framework, and More - MODx

                          Bei Modx bist du, so schätze ich 80% deiner Zeit mit "eingeben von text der auf der seite angezeigt werden soll" beschäftigt, als mit "wie funktioniert das wenn ich ?"-Antworten suchen. HTML sollteste können, zumindest solltest du in der lage sein dein Template so anzupassen, das es valide bleibt.. aber das nur einmal, allen anderen Content gibst du WYSIWYG ein.

                          Mit PHP haste da Grundlegend nichts am Kopf, außer: du baust dir Gadgets, Extensions, Snippets oder was auch immer für die nötige Webseite
                          [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


                          • #14
                            Ich glaube, die Zukunft für die Manipulation von content liegt eher in Websites, in die der Text einfach reingeschrieben oder -kopiert wird (siehe QuickChange)
                            Das ist schon Gegenwart. Man macht solches mit Templates, PHP und Mysql.
                            [PHP]if ($var != 0) {
                            $var = 0;
                            }[/PHP]

                            Kommentar

                            Lädt...
                            X