Добавить символы в конец строки

Тема в разделе "PHP", создана пользователем Levitt, 26 апр 2011.

Модераторы: latteo
  1. Levitt

    Levitt

    Регистр.:
    20 май 2008
    Сообщения:
    357
    Симпатии:
    36
    Хочу автоматизировать скрипт для поиска чистых доменов на биржах.. Помогите решить задачу с добавлением символа в конец строки и сохранением результата

    PHP:
    <?
       
    $file_array file('File_url.txt'); //построчно домены
     
     
    for($i 0$i count($file_array); $i++) 
    {
    $html file_get_contents("http://google.com/safebrowsing/diagnostic?site=".$file_array[$i]."&hl=en");
        if(
    strpos($html"Malicious software is hosted") !== false
            {
            
    //??? Добавить в конец строки ($i) файла    "Bad Site"  и сохранить результат
            
    }
        if(
    strpos($html,  "This site is not currently listed as suspicious") !== false
            {
            
    //??? Добавить в конец строки ($i) файла    "Nice Site"  и сохранить результат
            
    }
    }
    ?>
     
  2. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    Если я правильно понял (в чём я очень сомневаюсь) что ты хочешь замутить, то приблизительно так:
    PHP:
    $resultl=$file_array[$i]." (".$i.")\n";
    $filename="Bad Site"//$filename="Nice Site";
    $fp = @fopen($filename,'a');
            
    fwrite($fp,$resultl);
            
    fclose($fp);
     
    Levitt нравится это.
  3. Levitt

    Levitt

    Регистр.:
    20 май 2008
    Сообщения:
    357
    Симпатии:
    36
    Не совсем правильно но к решению приблизил, отсавив только два вопроса:
    - символы вставляются не в конец строки а в новую;
    - строки не заменяются а дописываются в конце файла.
    текущий код
    PHP:
    <? 
       
    $file_array file('File_url.txt'); //построчно домены 
      
     
    for($i 0$i count($file_array); $i++)  

    $html file_get_contents("http://google.com/safebrowsing/diagnostic?site=".$file_array[$i]."&hl=en"); 
        if(
    strpos($html"Malicious software is hosted") !== false)  
            { 
    $resultl=$file_array[$i]." (Bad Site)\n";
    $fp = @fopen($lndfile,'a');
            
    fwrite($fp,$resultl);
            
    fclose($fp);  

            
    //??? Добавить в конец строки ($i) файла    "Bad Site"  и сохранить результат 
            

        if(
    strpos($html,  "This site is not currently listed as suspicious") !== false)  
            { 
    $resultl=$file_array[$i]." (Nice Site)\n";
    $fp = @fopen($lndfile,'a');
            
    fwrite($fp,$resultl);
            
    fclose($fp);  
            
    //??? Добавить в конец строки ($i) файла    "Nice Site"  и сохранить результат 
            


    ?>
     
  4. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    1) file() читает с символами конца строки - используй rtrim().
    2) заведи файл result.txt и туда пиши результаты обработки.
     
  5. Matinier

    Matinier Постоялец

    Регистр.:
    5 окт 2009
    Сообщения:
    65
    Симпатии:
    4
    По-моему проще так сделать:

    PHP:

    file_put_contents 
    $lndfile $file_array[$i]." (Nice Site)\n"FILE_APPEND );

     
  6. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.036
    Симпатии:
    699
    PHP:
    <? 
      
    $file_array file('File_url.txt'); //построчно домены 
      
    $fp fopen('urls.txt','w');
      
    $c count($file_array);
     for(
    $i 0$i $c$i++)  

    $html file_get_contents("http://google.com/safebrowsing/diagnostic?site=".$file_array[$i]."&hl=en"); 
        if(
    strpos($html"Malicious software is hosted") !== false)  
            { 
            
    fwrite($fp,trim($file_array[$i])." - Bad Site\n");  //??? Добавить в конец строки ($i) файла    "Bad Site"  и сохранить результат 
            

        if(
    strpos($html,  "This site is not currently listed as suspicious") !== false)  
            { 
             
    fwrite($fp,trim($file_array[$i])." - Nice Site\n");  //??? Добавить в конец строки ($i) файла    "Nice Site"  и сохранить результат 
            


    fclose($fp);
    ?>
    запишется в новом файле или это принципиально в старый надо? тогда так
    старый перезапишется только с новыми строчками
     
  7. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    PHP:
    <?php
       $file_array 
    file('File_url.txt'); //построчно домены 
      
     
    for($i 0$i count($file_array); $i++){ 
    $file_array[$i] = rtrim($file_array[$i]);
    $html file_get_contents("http://google.com/safebrowsing/diagnostic?site=".$file_array[$i]."&hl=en"); 
        if(
    strpos($html"Malicious software is hosted") !== false){ 
         
    file_put_contents('result.txt'$file_array[$i]." Bad Site\n",  FILE_APPEND);
        } 
        if(
    strpos($html,  "This site is not currently listed as suspicious") !== false){ 
         
    file_put_contents('result.txt'$file_array[$i]." Nice Site\n"FILE_APPEND);
        } 
    ?>
     
  8. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    Зачем в цикле каждый раз считать количество строк?:D
     
  9. -=Xardas=-

    -=Xardas=-

    Регистр.:
    17 сен 2008
    Сообщения:
    250
    Симпатии:
    58
    к томуже, зачем каждую итерацию писать в файл?

    PHP:
    $file_array file('File_url.txt'); //построчно домены

    for($i=0$cn=count($file_array); $i $cn$i++)
    {
        
    $file_array[$i] = rtrim($file_array[$i]);
        
    $html file_get_contents("http://google.com/safebrowsing/diagnostic?site=".$file_array[$i]."&hl=en");

        if(
    strpos($html"Malicious software is hosted") !== false)
            
    $file_array[$i] .= " Bad Site";
        
        if(
    strpos($html,  "This site is not currently listed as suspicious") !== false)
            
    $file_array[$i] .= " Nice Site";
        
    }

    file_put_contents('result.txt'implode("\n"$file_array));
    ps: закрывающий тег "?>" - не по феншую тут :)
     
  10. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
    foreach должен все таки пошустрей работать чем
    PHP:
    for($i=0$cn=count($file_array); $i $cn$i++)