file(implode, ...) hatası

0
Onaylı Üye
Üye
Katılım
1 Temmuz 2006
Mesajlar
1,356
Tepki puanı
0
server ayarlarından dolayı şu hatayı alıyorum şu kodlardan nasıl aşabilirim acaba.
hata :URL file-access is disabled in the server configuration
PHP:
PHP Kodu:
if(!file_exists($path)) { 
      
$data = strip_tags(implode('', file($path)));

şu şekle getirdimmi de
PHP:
if(!file_exists($path)) {

			
 $ch = curl_init($path);
  curl_setopt($ch, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
  curl_setopt($ch, CURLOPT_REFERER, "http://www.molo.com/");
  curl_setopt($ch, CURLOPT_USERAGENT, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  $kaynak = curl_exec($ch);
  curl_close($ch);

				$data = strip_tags(implode('', $kaynak));

implode() [function.implode]: Bad arguments hatasını alıyorum.
 
0
Onaylı Üye
Üye
Katılım
12 Aralık 2004
Mesajlar
9,603
Tepki puanı
106
Konum
AZ
implode 2. parametre dizi olmalıdır. Curl'den aldığın ise string.
buradan okuyabilirsin.
 
0
Onaylı Üye
Üye
Katılım
1 Temmuz 2006
Mesajlar
1,356
Tepki puanı
0
Burada bir fonksiyon olarak çalışıyor : aslında script sorunsuz çalışıyor ancak daha öncede dediğim gibi benim serverr ayarlarından dolayı hata veriyor. fonksiyonun tümü şu şekilde. mesela file_get_contents kullanamıyorum c_url kullanabiliyorum gibi.


PHP:
function dmoz($url) {

			

			$path = 'http://search.dmoz.org/cgi-bin/search?search=' . str_replace(array('http://', 'www.'), '', $url);

			

			if(!file_exists($path)) {

			

				$data = strip_tags(implode('', file($path)));

				

				if(strpos($data, 'No Open Directory Project results found')) {

				

					$output['dmoz'] = 'No';

					

				} else {

				

					$output['dmoz'] = 'Yes';

					

				}

				

			} else {

			

				$output['dmoz'] = 'No';

				

			}

			

			return $output['dmoz'];

			

		}
 
0
Onaylı Üye
Üye
Katılım
12 Aralık 2004
Mesajlar
9,603
Tepki puanı
106
Konum
AZ
cURL ile al, strip_tags yaparsın sonra, implode yapmana gerek yok ki. Implode dizi elemanlarının arasına belirli bir karakter koyarak string'e birleştirir. Örnekte file() ile satır satır diziye dökülüp sonra implode ile yeniden string yapılmış. Gereksiz.
 
0
Onaylı Üye
Üye
Katılım
1 Temmuz 2006
Mesajlar
1,356
Tepki puanı
0
haklısın.
sorguyu değiştirdim:
PHP:
  if(preg_match('#<center>No <b><a href="http://dmoz.org/">Open Directory Project</a></b> results found</center>#si', $kaynak)) {
yaptım ve çalışıyor gayet güzel teşekkürler
 
Geri
Üst