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

Тема в разделе "Как сделать...", создана пользователем gadiks, 29 дек 2009.

Статус темы:
Закрыта.
  1. gadiks

    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);
    
    проблема в том что нет ошибок, но файл не заполняеться ссылками, уже перепробывал и без файлов и с разными правами на пустых файлах, в чем проблема может быть?
     
  2. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    учитывая !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);
     
  3. gadiks

    gadiks Постоялец

    Регистр.:
    29 мар 2009
    Сообщения:
    117
    Симпатии:
    102
    проблему решил, спасибо!
     
Статус темы:
Закрыта.