[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. [K4t]

    [K4t] New Member

    Joined:
    15 Feb 2009
    Messages:
    53
    Likes Received:
    4
    Reputations:
    1
    Ааа! Ну как же выдрать из всех тегов [​IMG] url'ы и положить из в массив :'(
     
  2. F4R

    F4R Banned

    Joined:
    20 Jun 2008
    Messages:
    224
    Likes Received:
    46
    Reputations:
    2
    есть еще варианты?
     
  3. svesve

    svesve Elder - Старейшина

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    в базе скоко ссылок???
    9 сслыок или их больше и надо чтобы выбирались рандомно картинки и заполняли таблицу?
     
  4. F4R

    F4R Banned

    Joined:
    20 Jun 2008
    Messages:
    224
    Likes Received:
    46
    Reputations:
    2
    в базе скажем так безконечное кол-во картинок (ну тоесть есть возможность всегда добавить...)
    нужно что бы на 1-ой странице выводилось 9 штук.
     
  5. svesve

    svesve Elder - Старейшина

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    ну как временный вариант можно сделать так

    PHP:
    $q="SELECT link FROM url";
    $res=mysql_query($q);
    while(
    $row=mysql_fetch_array($res)){
        
    $arr[]=$row['link'];
    }
    $rand_links array_rand($arr9);

    echo 
    '<table>
         <tr>
         <td>'
    .$arr[$rand_links[0]].'<td>
         <td>'
    .$arr[$rand_links[1]].'<td>
         <td>'
    .$arr[$rand_links[2]].'<td>
         </tr>
         <tr>
         <td>'
    .$arr[$rand_links[3]].'<td>
         <td>'
    .$arr[$rand_links[4]].'<td>
         <td>'
    .$arr[$rand_links[5]].'<td>
         </tr>
         <tr>
         <td>'
    .$arr[$rand_links[6]].'<td>
         <td>'
    .$arr[$rand_links[7]].'<td>
         <td>'
    .$arr[$rand_links[8]].'<td>
         </tr>
         </table>'
    ;

     
  6. Komyak

    Komyak Banned

    Joined:
    14 Jan 2009
    Messages:
    202
    Likes Received:
    18
    Reputations:
    1
    Подскажите в чём моя ошибка, и если не трудно напишите как надо.
    Регулярками разбиваю кучу страниц(около 100) полученых через цикл, на экран выводится всё нормально, а вот в файл не могу записать. Пишет или один и тот же текст, или записывает только первый текст, а остальные пропускает()
    PHP:
    ........
    ........

    $vestext .= $match2[1][$k];//Заголовок
    $vestext2 .= $match2[2][$k];//Текст

    $d = ("Какой-либо-текст $vestext2 , Какой-либо-текст $vestext");
    $vestext serialize($vestext);
    $vestext2 serialize($vestext2);
    }}
    $fh fopen("fileitog.txt""a+");
    fwrite($fh$d."\n");
    Пытался и так:
    PHP:
    $d = ("Какой-либо-текст $match2[2][$k] , Какой-либо-текст $match2[1][$k]");
    Всю голову уже "вскипятил" себе....
     
  7. DeluxeS

    DeluxeS Member

    Joined:
    1 Aug 2009
    Messages:
    7
    Likes Received:
    81
    Reputations:
    19
    Komyak , в цикл помещай открытие и запись
     
  8. Fepsis

    Fepsis Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Лучше открытие до цикла, запись в цикле, а после цикла закрытие... Нафига 100 раз открывать-закрывать файл..
     
  9. Komyak

    Komyak Banned

    Joined:
    14 Jan 2009
    Messages:
    202
    Likes Received:
    18
    Reputations:
    1
    Не хочет... (= Он начинает работать в прогрессии... Давайте я код целиком(код слищком грязный,не ругаемся):
    PHP:
    $page get_file_by_curl($host);
    preg_match_all("|<\/ul><\/div><a href=\"(.*?)\" ><img src=\"|is",$page$matchPREG_PATTERN_ORDER);
    $fh fopen("fileitog.txt""a+");
    for ( 
    $i=0$i<count($match[1]); $i++){
    $content get_file_by_curl($host.$match[1][$i]);
    preg_match_all("|<div class=\"subtitle\">(.*?)</div>.*<div class=\"body\">(.*?)<div class=\"author\" align=\"right\">|is",$content$match2PREG_PATTERN_ORDER);
    for(
    $k=0;$k<=count($match2[0][$i]);$k++){
    $vestext .= $match2[1][$k];//Заголовок
    $vestext2 .= $match2[2][$k];//Текст

    $vestext serialize($vestext);
    $vestext2 serialize($vestext2);

    $d "REPLACE INTO `dle_post` VALUES ($k, 'user', '2009-11-04 14:45:51', '$vestext2', '', '', '$vestext', '', '', '1', 'post$k', 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, '', '', 1, '', '', '', 0, 'Теги', '');";
    fwrite($fh$d."\n");
    }}
    fclose($fh);

    ?>
    Делаю, чтоб после парсинга сразу запихивалось в sql. Вложил
    Помогите... Пытался при записи разбить через foreash, но не могу в него запихнуть сразу два массива(хотя может и не по тому пути двигаюсь).
     
  10. Deathdreams

    Deathdreams Elder - Старейшина

    Joined:
    8 Nov 2008
    Messages:
    342
    Likes Received:
    116
    Reputations:
    5
    Komyak

    PHP:
    REPLACE INTO
    Что это такое?
     
  11. Komyak

    Komyak Banned

    Joined:
    14 Jan 2009
    Messages:
    202
    Likes Received:
    18
    Reputations:
    1
    Это мне нужно записать в файл вместе с полученными данными.
    А так аналогия, REPLACE INTO или INSERT INTO или UPDATE INTO, будет обращение к базе. А заменена(replace), так как "возможно в базе есть какие-то-данные", вот их я и буду переписывать.- Вместо проверки на дубликаты, сносим нахрен всю базу =))
    Если будет что сносить.... Пока толлько дубли записываются...
     
    #12731 Komyak, 18 Nov 2009
    Last edited: 18 Nov 2009
  12. Komyak

    Komyak Banned

    Joined:
    14 Jan 2009
    Messages:
    202
    Likes Received:
    18
    Reputations:
    1
    Сам разобрался, теперь каждую строку заносит
    PHP:
    $page get_file_by_curl($host);
    preg_match_all("|<\/ul><\/div><a href=\"(.*?)\" ><img src=\"|is",$page$matchPREG_PATTERN_ORDER);
    $fh fopen("fileitog.txt""a+");
    for ( 
    $i=0$i<count($match[1]); $i++){
    $content get_file_by_curl($host.$match[1][$i]);
    preg_match_all("|<div class=\"subtitle\">(.*?)</div>.*<div class=\"body\">(.*?)<div class=\"author\" align=\"right\">|is",$content$match2PREG_PATTERN_ORDER);
    for(
    $k=0;$k<=count($match2[1]);$k++){
    $q trim("REPLACE INTO `post` VALUES (".$i.", 'user', '2009-11-04 14:45:51', '".$match2[2][$k]."', '', '', '".$match2[1][$k]."', '', '', '1', 'post".$i."', 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, '', '', 1, '', '', '', 0, '', '');");
    fwrite($fh$q."\n");}}
    fclose($fh);
    echo 
    "Всё! Закончили...";
    Но вместе с ней, после каждой строки создаёт одну пустую:
    PHP:
    REPLACE INTO `postVALUES (0'user''2009-11-04 14:45:51''''''''''''''1''post1'01111001000''''1''''''0'''')
    В чём может быть проблема?
     
  13. XXXXXX

    XXXXXX New Member

    Joined:
    3 Jun 2009
    Messages:
    24
    Likes Received:
    1
    Reputations:
    -5
    Привет всем.
    помоготе найти скрипт автозаполнения формы .
    ну к примеру чтою зашел на сайт, заполнил поле
    <input type="text" name="name"> к примеру 1
    и отправил данные нажав
    <input type="Submit" value="отправить">
     
  14. erihtoney

    erihtoney Member

    Joined:
    3 Mar 2009
    Messages:
    91
    Likes Received:
    73
    Reputations:
    20
    Честно говоря, не понял вопрос
    PHP:
    <input type="text" name="name" value="<?=$_POST[name];?>">
     
  15. XXXXXX

    XXXXXX New Member

    Joined:
    3 Jun 2009
    Messages:
    24
    Likes Received:
    1
    Reputations:
    -5
    сайт не мой.
     
  16. warlok

    warlok Elder - Старейшина

    Joined:
    17 Feb 2008
    Messages:
    328
    Likes Received:
    142
    Reputations:
    81
    2 XXXXXX
    PHP:
    $post 'name=blabla';
    $ch curl_init();
        
    curl_setopt($chCURLOPT_URL'http://127.0.0.1/submit.php');
        
    curl_setopt($chCURLOPT_POSTtrue );
        
    curl_setopt($chCURLOPT_POSTFIELDS,$post);
    $answer curl_exec($ch);
    как то так
    твой код подвержон xss))
     
  17. Gin

    Gin Elder - Старейшина

    Joined:
    11 Sep 2008
    Messages:
    133
    Likes Received:
    7
    Reputations:
    4
    Не знал где вернее запостить тут или как отдельную тему, но решил тут.

    Есть файл(ы) хочу их разместить, на файлообменники, но чтобы пользователь не видел статической линки, а она генерировалась динамически, т.е. один пользователь(айпи) один линк, на своем хосте не могу разместить т.к. канал слабенький. Как можно это реализовать не нагружай свой хостинг, но приэтом не давай пользователю статический линк.
    Спасибо.
     
  18. Byrger

    Byrger Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    ПОмогите плиз написать прстенький скрипт (я с ftp+php Не работал просто)

    Нужен скрипт который пролистывает все файлы на сервере и отправляет их на удаленный фтп

    Я думаю лудьше каждую папку отдельно, так как если скрипт будет просматривать все папки на сервере то за 30 сек не успеет, а доступа к php.ini Нету
     
  19. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    PHP:
    <?php 
    @set_time_limit(0); 
    @
    ini_set("display_errors","1");
    $l_folder '/home/lalala/http/site/'// Полный абсолютный путь к папке, которую тырим на наш фтп
    $r_folder './';// Полный абсолютный путь к папке, в которую будем копировать стыренное, находится на нашем фтп (в конце слеш)
    function ff($dir) {
       if (
    is_dir($dir)) {
       if (
    $dh opendir($dir)) {
         while ((
    $file readdir($dh)) !== false) {
          if (
    filetype($dir $file)=="file"// Если тип переменной - file
           
    $arr[] = $file;
         }
       
    closedir($dh);
      }
     }
     return 
    $arr;
    }
    $b ff($l_folder);
    $count count($b);
    for (
    $i=0;$i<$count;$i++) {
      
    $file $l_folder.$b[$i]; // Файл, который копируем
      
    $newfile $r_folder.$b[$i]; // Файл приемник 
      
    $open ftp_connect("ftp-server","ftp-port","timeout"); // сервер, порт, таймаут 
      
    if(!ftp_login($open,"ftp-login","ftp-pass"))  
        exit(
    "Не могу соединиться"); 
      
    # Копируем # 
      
    if (ftp_put($open$newfile$fileFTP_BINARY))  echo "$file скопирован\n"
      else  echo 
    "Не удалось скопировать $file\n"
      
    ftp_close($open); // закрываем фтп-соединение 
    }
    ?>
     
  20. Byrger

    Byrger Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    =(
    Можно как-то подругому обойти?

    Блин как ещё можно слить файлы с сервера с Safe-mone=ON

    Шелл с66 не может создать архив с копией..а скачивать по 1 файлу это не реально.

    Я слышал что есть какойто пхп архиватор который даёт скачать не сохраняя.(файлы на сервер могу заливать и запускать)
     
    #12740 Byrger, 19 Nov 2009
    Last edited: 19 Nov 2009
Thread Status:
Not open for further replies.