Создание и запись файла PHP

Статус
В этой теме нельзя размещать новые ответы.

gadiks

Постоялец
Регистрация
29 Мар 2009
Сообщения
117
Реакции
102
Подскажи почему не работает скрипт
часть кода
function write_file
Код:
function write_file($path,$text='',$mode='w'){
  switch($mode){
    case ($mode=='w' or $mode=='w+'):
      $fp = fopen ($path,"w");
	  flock ($fp,LOCK_EX);
      ftruncate ($fp,0);
      fwrite ( $fp,$text);
      fflush ($fp);
	  flock ($fp,LOCK_UN);
      fclose ($fp);
      unset($path, $text);
      break;
    case ($mode=='a' or $mode=='a+'):
      $fp = fopen ($path,"a");
      fwrite ($fp,$text);
      fflush ($fp);
      fclose ($fp);
      unset($path, $text);
      break;
  }
}
нужно сгенерировать кару сайта например
Код:
function firstrun(){
  global $words, $cwords, $domain,$translit;
  if(!file_exists("sitemap.xml")){
    $xml="<urlset xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n";
	for($i=0;$i<=$cwords; $i++){
	  if($words[$i]){
	  	if($translit){
	  		$url="http://".$domain."/".$i."/".transliturl($words[$i]).".html";
	  		$BBLinks.="[url=http://".$domain."/".$i."/".transliturl(trim($words[$i])).".html]".trim($words[$i])."[/url]\n";
	  	}else{
	  		$url="http://".$domain."/".$i."/".urlencode($words[$i]).".html";
	  		$BBLinks.="[url=http://".$domain."/".$i."/".urlencode(trim($words[$i])).".html]".trim($words[$i])."[/url]\n";
	  	}
	  	//$xml.="<url>\n\t<loc>".$url."</loc>\n\t<lastmod>".gmdate('Y-m-d\TH:i:sP')."</lastmod>\n\t<changefreq>daily</changefreq>\n</url>\n";
	  	$xml.="<url>\n\t<loc>".$url."</loc>\n\t<lastmod>".gmdate('Y-m-d')."</lastmod>\n\t<changefreq>daily</changefreq>\n</url>\n";
	  }
	}
	$xml.="</urlset>";
	write_file("sitemap.xml",$xml);
проблема в том что нет ошибок, но файл не заполняеться ссылками, уже перепробывал и без файлов и с разными правами на пустых файлах, в чем проблема может быть?
 
учитывая !file_exists("sitemap.xml") с файлами пробовать беспонтово =))))

это раз

функция записи в файл работает это два.
вместо write_file("sitemap.xml",$xml);
поставь
Код:
echo "<PRE>$xml</PRE>";
и посмотри вывод

PS на счет ошибок, даже здесь в разметке видны баги в
$BBLinks.=")).".html]".trim($words[$i])."\n";
и
$BBLinks.=")).".html]".trim($words[$i])."\n";

так что имхо трабла там
кста пропиши на всякий случай в начале файла
error_reportint(~E_ALL);
 
проблему решил, спасибо!
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху