PHP kullanarak bir metin dosyasındaki belirli bir satırında bir şey ekleme

4 Cevap php

Ancak Line # 4 söyleyerek bir çizgi var, ben aynı kalır istiyorum config.php adında bir dosya var:

$config['url'] = '...could be anything here';

I $config['ur'], PHP bunu yapmak için bir yolu yoktur, yalnızca sağlanan kendi url ile hat içerisinde 4. içeriğini değiştirmek istiyorum?

4 Cevap

Eğer tam satır numarasını yapmak için muhtemelen en doğru yolu biliyorum beri bu çizgilerin bir dizi döndüren) (dosyayı kullanmak için:

$contents = file('config.php');
$contents[3] = '$config[\'url\'] = "whateva"'."\n";
$outfile = fopen('config.php','w');
fwrite($outfile,implode('',$contents));
fclose($outfile);

Başka bir yapılandırma (myconfig.php) oluşturmak ya. Orijinali içerir ve seçeneği üzerine. myconfig.php yerine orijinal birini içerir.

VEYA

(? Tüm sizin doğru içeren tek bir yerde kullanmak vermedi) yapılandırma dahil olduğu yere gidin ve orada yapılandırma seçeneğini ayarlayın.

   include "config.php"
   $config['url'] = "my_leet_urlz";

Eğer, dosya okumak uygun dizeleri str_replace veya preg_replace kullanabilirsiniz, daha sonra kendisine geri dosya yazma.

If there is only one $config['url'], use a preg_replace() http://us.php.net/preg%5Freplace

something like: $pattern = '\$config['url'] = "[\d\w\s]*"' $file_contents = preg_replace($pattern, $config['url'] = "my_leet_urlz";,$file_contents);

Ben regex yeni ve ben bu doğru değil bildiğiniz gibi desen düzeltmek gerekir.