2011-05-23 18 views
6

Bir dosya içinde bir dizenin kaç kez oluştuğunu sayan bir işlev arıyorum, $count = preg_match_all("/String/", $file, $matches); kullanmayı denedim, ancak Warning: preg_match_all() expects parameter 2 to be string, resource given döndürür. Bunu bir dosya yerine, bir dize yerine yapmamı sağlayan bir işlev var mı veya bir dizeye bir dosya atamanın herhangi bir yolu var mı (ikincisinin çok daha yavaş olacağını varsayalım)?PHP bir dosyada dize arama

+1

Sen 2 parametreye bir dize değeri geçmesi gerekiyor. Belki de yapabilirsiniz: bu argüman için 'file_get_contents ($ filename)'. –

cevap

11

evet:

file_get_contents() -

http://php.net/manual/en/function.file-get-contents.php

yüzden sizin için bende sende tahmin ediyorum

$file = file_get_contents(PATH_TO_FILE); 
$count = preg_match_all("/String/", $file, $matches); 

olacak bir dizeye dosyanın tamamını okur fopen ins dosyaları kullanıldı yanlışlıkla mı?

+0

teşekkürler felix, tembellik tembellik –

+0

Evet, 'fopen' kullanıyorum, ama 'file_get_contents' tam olarak ihtiyacım olan şey. Teşekkür ederim. – John