← PHP

Ajuda a manipular ficheiros em PHP

Lida 6284 vezes

Offline

HelderT 
Membro
Mensagens 4 Gostos 0
Troféus totais: 14
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 First Post Karma Sixth year Anniversary Fifth year Anniversary

Boa tarde estou aqui com um problema.

Tenho um ficheiro .txt com a seguinte estrutura:
Código: [Seleccione]
# Copia do PC para o servidor de imagens
  label 8888ptelpcopiar
         kernel rescue/rescuecd
         append initrd=rescue/initram.igz  boottftp=tftp://192.168.90.253/rescue/sysrcd.dat setkmap=pt dodhcp dns=192.168.90.253 gateway=192.168.90.254 ar_source=http://192.168.90.253/script/script_8888ptelp_copiar/ autorun=*copiar
#dodhcp

# Recuperar do servidor de imagens para o PC
  label 8888ptelprecuperar
         kernel rescue/rescuecd
         append initrd=rescue/initram.igz  boottftp=tftp://192.168.90.253/rescue/sysrcd.dat setkmap=pt dodhcp dns=192.168.90.253 gateway=192.168.90.254 ar_source=http://192.168.90.253/script/script_8888ptelp_recuperar/ autorun=8888ptelprecuperar
#dodhcp

# ------------------------
# Copia do PC para o servidor de imagens
  label Badjorascopiar
         kernel rescue/rescuecd
         append initrd=rescue/initram.igz  boottftp=tftp://192.168.23.253/rescue/sysrcd.dat setkmap=pt dodhcp dns=192.168.23.253 gateway=192.168.23.254 ar_source=http://192.168.23.253/script/script_Badjoras_copiar/ autorun=Badjorascopiar
#dodhcp

# Recuperar do servidor de imagens para o PC
  label Badjorasrecuperar
         kernel rescue/rescuecd
         append initrd=rescue/initram.igz  boottftp=tftp://192.168.23.253/rescue/sysrcd.dat setkmap=pt dodhcp dns=192.168.23.253 gateway=192.168.23.254 ar_source=http://192.168.23.253/script/script_Badjoras_recuperar/ autorun=Badjorasrecuperar
#dodhcp

# ------------------------
# Copia do PC para o servidor de imagens
  label 9999copiar
         kernel rescue/rescuecd
         append initrd=rescue/initram.igz  boottftp=tftp://192.168.23.253/rescue/sysrcd.dat setkmap=pt dodhcp dns=192.168.23.253 gateway=192.168.23.254 ar_source=http://192.168.23.253/script/script_9999_copiar/ autorun=9999copiar
#dodhcp

# Recuperar do servidor de imagens para o PC
  label 9999recuperar
         kernel rescue/rescuecd
         append initrd=rescue/initram.igz  boottftp=tftp://192.168.23.253/rescue/sysrcd.dat setkmap=pt dodhcp dns=192.168.23.253 gateway=192.168.23.254 ar_source=http://192.168.23.253/script/script_9999_recuperar/ autorun=9999recuperar
#dodhcp

# ------------------------

E queria saber como é que ao procurar por exemplo pela palavra "Badjoras" eliminar o bloco de texto entre "#------" onde está inserida essa palavra.

Se alguém me poder dar umas dicas agradeço.

Cumprimentos,
Helder
Offline

marcosfonseca 
Membro
Mensagens 6 Gostos 0
Troféus totais: 15
Trófeus: (Ver todos)
Apple User Super Combination Combination Topic Starter Level 3 Level 2 Level 1 First Post Karma Sixth year Anniversary

E estrutura do ficheiro não ajuda muito. Pois a palavra que procuras pode aparecer várias vezes.

Por secções seria melhor.

Mas vou te dizer como eu tentaria fazer, quando leres #------- guardas o numero da linha numa variável e vais copiando o conteúdo para uma string até leres outra vez #------ (e guardas também o numero da linha noutra variável).

A essa string que guardaste, procuras se tem a palavra que queres. Se tiver, acedes a posição da linha da variável 1, e apagas tudo até a linha da variável 2.