falloutvetal
3.12.2013 - 10:44
Добрый день! Помогите разобраться с кодом. Файл "sites.txt" = список сайтов, "content.txt" = контент построчный.
// Авторизация на сайте
$path_to_sites = "data/test/sites.txt";
$sites = array();
$sites = file($path_to_sites, FILE_IGNORE_NEW_LINES);
$path_to_contents = "data/test/content.txt";
$contents = array();
$contents = file($path_to_contents, FILE_IGNORE_NEW_LINES);
foreach ($sites as $site)
{
if (trim($site) == "")
continue;
$browser->navigate($site);
// добавление контента
foreach ($contents as $content)
{
if (trim($content) == "")
continue;
$input->set_inner_text_by_name("title","test1");
$body->set_inner_text_by_name("tinymce","$content",0);
}
}
Смысл в том, что для первой строчки sites.txt берем первую строку файла content.txt, для второй строки sites.txt вторую строку content.txt.
А у меня получается что для любой строки файла sites.txt, всегда подставляется первая строка файла content.txt.
Помогите пожалуйста, начинающему.
falloutvetal
3.12.2013 - 12:05
У кого-нибудь есть мысли?
foreach заменить на for и обойтись одним циклом.
falloutvetal
3.12.2013 - 12:34
А можно пример кода? От какого foreach избавляемся?
$sites = array(1,2,3,4,5);
$contents = array(1,2,3);
$maxcount = max(count($sites), count($contents));
for ($i=0; $i < $maxcount; $i++)
{
if (empty($sites[$i]) || empty($contents[$i]))
{
continue;
}
echo "For the sites #$i (".$sites[$i].") contents:".$contents[$i]."<br />";
}
falloutvetal
3.12.2013 - 13:12
Огромное спасибо, очень помогли! С кодом разобрался!!!
sergeiss
3.12.2013 - 18:10
falloutvetal, так у тебя одной строке одного файла соответствует строго одна строка другого файла, с тем же порядковым номером??? А зачем такой изврат?
Во-первых, если уж и использовать файлы, то хоть в одном всё собрать.
А во-вторых, тут "просится" работа с БД. И это будет более правильно, более просто и более удобно.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)