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

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

Thread Status:
Not open for further replies.
  1. 0o Chris o0

    0o Chris o0 New Member

    Joined:
    16 Oct 2011
    Messages:
    142
    Likes Received:
    1
    Reputations:
    0
    Насколько я понял, при активации чекбокса, инклуд должен сразу отключаться без каких-либо нажатий на submit'ы? Ну если так, то используйте Ajax, при активации чекбокса, отправляйте запрос на скрипт, отключайте инклуд, получайте ответ в виде HTML.
     
  2. volgovend

    volgovend New Member

    Joined:
    11 Nov 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Приветствую, подскажите, пожалуйста.

    Вот так хочу чтобы выглядела html страница:

    <php>
    Первое значение: 100
    Второе значение: 200
    Третье значение: абв
    </php>

    А значения эти - 100/200/абв, хочу чтобы брались из лежащего рядом txt файла, где они идут в столбик.

    Как в html обозначить, что это значение нужно взять из строки №Х в файле txt ?

    Спасибо за советы )
     
  3. kroŧ

    kroŧ Member

    Joined:
    19 May 2010
    Messages:
    129
    Likes Received:
    33
    Reputations:
    8
    volgovend Вывод из файла в цикле:
    PHP:
    $file=file('ip.txt');
    foreach(
    $file as $val){
    echo 
    "Значение: {$val}<br>";
    }
     
  4. volgovend

    volgovend New Member

    Joined:
    11 Nov 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Разобрался, все работает, спасибо!
     
  5. daniel777

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

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    Есть вот такой скрипт:
    PHP:
    <?php

    $login
    ='test';
    $pass='test';

    $ch curl_init();
    curl_setopt($chCURLOPT_URL'https://verified.ms/login.php?do=login');
    curl_setopt($chCURLOPT_HEADER1);
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_USERAGENT$useragent);
    curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
    curl_setopt($chCURLOPT_SSL_VERIFYHOSTfalse);
    curl_setopt($chCURLOPT_HTTP_VERSIONCURL_HTTP_VERSION_1_0);
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_POSTFIELDS'vb_login_username='.$login.'&vb_login_password='.md5($pass).'&s=&securitytoken=guest&do=login&vb_login_md5password='.md5($pass).'&vb_login_md5password_utf='.md5($pass));
    $res=curl_exec($ch);
    curl_close($ch);

    file_put_contents('res1.html'$res);

    if(
    $res==''){
    echo 
    'Ошибка #1<br>';
    }

    ?>
    При его выполнении часто(не всегда) бывает так, что переменная $res пуста. То есть нету даже заголовков. Почему, и как это исправить?
     
  6. mironich

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

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Curk ловит ошибку на уровне сокетов?
     
  7. daniel777

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

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    Подскажите пожалуйста как это проверить/узнать?
     
  8. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    curl_getinfo() + циклом в 1000 итераций пройдись по своему скрипту где будет вывод $_SERVER + $_REQUEST.
     
  9. mironich

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

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Установи CURLOPT_VERBOSE в true, будет вывод лога подключения подключения, отловишь.http://www.php.net/manual/ru/function.curl-error.php
     
    1 person likes this.
  10. daniel777

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

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    Вот curl_getinfo() при этом "плохом" запросе, но к решению проблемы это ни на шаг не придвинуло.
    Code:
    Array
    (
        [url] => https://verified.ms/login.php?do=login
        [content_type] => 
        [http_code] => 0
        [header_size] => 0
        [request_size] => 0
        [filetime] => -1
        [ssl_verify_result] => 0
        [redirect_count] => 0
        [total_time] => 20.921
        [namelookup_time] => 0
        [connect_time] => 0
        [pretransfer_time] => 0
        [size_upload] => 0
        [size_download] => 0
        [speed_download] => 0
        [speed_upload] => 0
        [download_content_length] => -1
        [upload_content_length] => -1
        [starttransfer_time] => 0
        [redirect_time] => 0
        [certinfo] => Array
            (
            )
    
        [redirect_url] => 
    )
    Вот лог CURL при "плохом" запросе:
    Code:
    * About to connect() to verified.ms port 443 (#0)
    *   Trying 174.37.250.75...
    * Network unreachable
    * couldn't connect to host
    * Closing connection #0
     
    #21030 daniel777, 6 Sep 2012
    Last edited: 6 Sep 2012
  11. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    daniel777, CURLOPT_VERBOSE
     
  12. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    Что-то сетевое - либо у вас с нетом фигово, либо хост как-то блочит запросы (может у вас они частые и хост считает, что это ддос или что-то в этом роде).
     
    1 person likes this.
  13. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    Похоже, что сокет не может открыться.
    Я бы попробовал через сокет реализовать.
     
  14. cerber3000

    cerber3000 Member

    Joined:
    8 Nov 2008
    Messages:
    76
    Likes Received:
    31
    Reputations:
    2
    установил скрипт при запуске появляется ошибка Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ....................................../price.php on line 8

    Code:
    <?php
     include("../../../configuration.php"); 
    $quatrix = new JConfig(); 
    mysql_connect($quatrix->host, $quatrix->user, $quatrix->password); 
    mysql_select_db($quatrix->db);
     $select_query = "SELECT * FROM `jos_pricelist`"; 
    $result_query = mysql_query($select_query);
    while($arr = mysql_fetch_array($result_query)) {
     $str .= "
     <tr>
     <td valign='top'>".$arr["description"]."</td>
     <td valign='top'>".$arr["count"]."</td>
     <td valign='top'><img src='/freelance/52/administrator/modules/mod_pricelist/photo/".$arr["photo"]."' style='width:100px;' />
    </td> <td valign='top'>".$arr["price"]."</td>
     </tr>
     <tr>
     <td colspan='4'><hr /></td>
     </tr> 
    "; 
    }
     ?> <table cellpadding="5" cellspacing="0">
     <tr bgcolor="#ff6600">
     <td style="width:150px;height:30px;">Описание</td>
     <td style="width:150px;">Кол-во</td>
     <td style="width:150px;">Фото</td>
     <td style="width:150px;">Цена</td>
     </tr>
     <?php echo $str; 
    ?>
     </table>


    помогите в чем проблемма?
     
  15. D@iVeR[o.O]

    D@iVeR[o.O] New Member

    Joined:
    30 Aug 2012
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    cerber3000, есть подозрение, что mysql_query($select_query) вовзращает false вместо resource. почекай свой запрос, мож он возвращает false по какой-нибудь причине.
     
  16. FindeR

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

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Как быстрее всего отправить через cURL постом файл, который требуется скачать сначала? Т.е. скачиваем с другого сервера файл, потом постом его отправляем.

    Я реализовал так
    PHP:
    $fp fopen('tmp_images/tmp_name''w');
    fwrite($fpfile_get_contents($filename));
    fclose($fp); 
    Ну а дальше уже стандартная отправка через @$filename
    Есть ли более быстрый вариант реализации отправки?
    Может, есть функции для кодирования "на лету" сразу после file_get_contents в multipart/form-data ?
     
    #21036 FindeR, 11 Sep 2012
    Last edited: 11 Sep 2012
  17. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    Курл быстрее, чем гет_контентс, поэтому грабить файл тоже лучше им. Насчет посылки - ну поидее можно читать файл частями с помощью fread() и как-то на сокетах (fsockopen) реализовывать отправку по частям. Но я лично с таким не заморачивался никогда - и, скорее всего, поступил бы просто - грабил курлом и посылал тем же курлом.
     
  18. kroŧ

    kroŧ Member

    Joined:
    19 May 2010
    Messages:
    129
    Likes Received:
    33
    Reputations:
    8
    FindeR
    PHP:
    copy($filename'tmp_images/tmp_name');
    затем отправить файл с помощью curl.

    Получаем из url и сразу отправляем:
    PHP:
    $fp fsockopen('localhost'80);
    $file=file_get_contents('http://../');//тут получаем файл
    if ($fp){
    $boundary uniqid();
    $data "-----------------------------{$boundary}\r\n"
    ."Content-Disposition: form-data; name=\"file\"; filename=\"/home/test.txt\"\r\n"
    ."Content-Type: text/plain\r\n"
    ."\r\n"
    .$file."\r\n"
    ."\r\n-----------------------------{$boundary}--\r\n";

    $headers "POST /file.php HTTP/1.1\r\n"
    ."Content-Type: multipart/form-data; boundary=---------------------------" $boundary "\r\n"
    ."Host: localhost\r\n"
    ."Content-Length: ".strlen($data)."\r\n"
    ."Connection: Close\r\n\r\n";

    //ответ
    fwrite($fp,$headers.$data);
    while(!
    feof($fp)){
    echo 
    fread($fp32);
    }

    fclose($fp);
    }
     
    #21038 kroŧ, 12 Sep 2012
    Last edited: 12 Sep 2012
  19. restart05

    restart05 New Member

    Joined:
    20 Feb 2012
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    Вообщем такая проблемка: В ссылке русский текст /?s=Тест/ выводится через echo как %D0%A2%D0%B5%D1%81%D1%82. Как можно на выходе получить Тест.

    P.S. Заранее спасибо!
     
  20. mironich

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

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    PHP:
    echo urldecode(text)
     
Thread Status:
Not open for further replies.