Dodanie index.html do kazdego folderu/podfolderu na WWW


(Oddina) #1

Witam, jak dodać (w moim przypadku podmienić) index.html w kazdym folderze/podfolderze na WWW tak masowo, nie chcę robić tego ręcznie, w prawie 900 folderach


(floyd) #2

Czy te pliki są identyczne? Jeżeli tak, to może by wystarczyło podmienić fragment tekstu w każdym z plików na inny i w takim przypadku miałbym rozwiązanie.


(Oddina) #3

Chodzi o to, żeby wrzucić plik index.html do każdego folderu/podfolderu. A raczej podmienić te pliki, bo te pliki są tylko z niepoprawną treścią.


(floyd) #4

To już pisałeś wcześniej i takiego programu nie znam choć można by taki napisać, ale ja pytałem Cię o coś innego.


(djgrzenio) #5
for i in `ls`; do cp index.html $i; done

(Mateusz Charytoniuk) #6

Edytor tekstowy 'Sublime Text 2' ma opcję podmiany tekstu w wielu plikach. Jeżeli ta opcja wystarczy, możesz z niego skorzystać.


(floyd) #7

kopiowanie pliku do katalogów


(Oddina) #8

djgrzenio, jak napisałeś niewiadomo co, to wypadałoby chyba też opisać jak tego użyć i co to jest...

Mam coś takiego, skrypt php, jednak on owszem kopiuje lecz nie podmienia istniejących plików :confused:

<?php

//ścieżka do pliku, który ma być umieszczony w folderach

$copy='./copy/index.html';


//nazwa pliku docelowego

$dest='index.html';


// folder początkowy ('.' wskazuje na folder, w którym znajduje się skrypt

getDirectory('.', $copy, $dest);


function getDirectory( $path = '.', $copy, $dest, $level = 0 )

{

// ignorowane foldery

$ignore = array( '.', '..','copy');


// otwarcie folderu (handle)

$dh = @opendir( $path );


// pętla przez foldery

while( false !== ( $file = readdir( $dh ) ) )

{

// sprawdzenie, czy element powinien być zignorowany

if( !in_array( $file, $ignore ) )

{


// wykonujemy operacje tylko jeżeli element jest folderem

if(is_dir( "$path/$file" ) )

{

//wykonanie operacji i ponowne wywołanie funkcji

if (copy($copy,"$path/$file/$dest")) {

echo "$path/$file/$dest - powodzenie
";

} else {

echo "$path/$file/$dest - niepowodzenie
";

}

getDirectory( "$path/$file", $copy, $dest, $level+1);

}

}

}

// zamknięcie folderu (handle)

closedir( $dh );

}

?> [/code]

(djgrzenio) #9

to co napisalem to pętla w bashu