Seite 1 von 1

ftp upload einer Datei in mehrere verzeichnisse gleichzeitig

Verfasst: 22.04.2009, 19:49
von bmisic
Hallo!

Ich kümmere mich grade um eine etwas größere Homepage... mit über 240.000 Unterseiten.

Dabei gibt es 12.000 Ordner - in jeden davon möchte ich nun eine .php-Datei hochladen... natürlich nicht manuell!

Gibt es ein stück-Software mit dem man eine Datei auf alle Unterordner verteilen 7 uploaden kann?

...oder hat jemand ein SCRIPT zur Hand mit dem man eine Datei aus dem Hauptverzeichnis in alle Unterordner kopieren kann?

Vielen Dank für Eure Hilfe!

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 22.04.2009, 20:27
von Airport1
kannst auch folgendes machen:
- ein datei upload ueber formular
- dann via copy die hochgeladene datei in die ordnern reinkopieren.

ist evtl. nicht der feine weg (und man muesste dazu was scripten), aber wuerde funktionieren [( vielleicht - so ein kleines bisschen ;-) )].

gibt aber sicher einfachere wege.

koennte aber sinnvoll sein falls sich dieses vorhaben das eine oder andere mal noch wiederholt..

Verfasst: 22.04.2009, 20:44
von TBT
bei shell Zugang die index.php in den obersten Ordner kopieren, und dann per

find * | sed "s/\(.*\)\/.*/cp index.php \"\\1\/index.php\"/" | uniq | sh

in alle Unterordner verteilen

Verfasst: 22.04.2009, 22:09
von Pompom
:crazyeyes:
Hast du schon mal über mod_rewrite nachgegrübelt ?

Verfasst: 23.04.2009, 09:55
von Mork vom Ork
TBT hat geschrieben:bei shell-Zugang die index.php in den obersten Ordner kopieren, und dann per

find * | sed "s/\(.*\)\/.*/cp index.php "\\1\/index.php"/" | uniq | sh

in alle Unterordner verteilen
Falls es derselbe Dateiinhalt bleiben soll, wäre es schlauer, keine 12.000 Kopien anzufertigen, sondern nur eine einzige Datei und 11.999 Verweise darauf - schon alleine, weil er dann nicht bei einer Änderung am Skript wieder tausende Kopien erstellen muss.
Die Funktion find kann davon abgesehen auch Befehle ausführen:

find * -maxdepth 0 -type d -exec ln -s ../1/index.php '{}' \;

Dieser Aufruf erstellt in jedem im aktuellen Verzeichnis gefundenen Verzeichnis einen Verweis namens index.php auf die Datei 1/index.php.
Jegliche Änderung an einer der index.php-Dateien, egal ob's das Original ist oder ein Verweis, taucht dann von ganz alleine in sämtlichen anderen 11.999 auf.

Ohne Shell-Zugriff geht's auch, PHP kennt die Funktion symlink().

Pompoms Vorschlag mod_rewrite wäre aber wohl der beste Weg, vorausgesetzt, die 12.000 Verzeichnisse bzw. ihre Namen lassen sich mit einem kurzen Muster fassen.