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

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

Thread Status:
Not open for further replies.
  1. I_I

    I_I Member

    Joined:
    22 Nov 2013
    Messages:
    67
    Likes Received:
    6
    Reputations:
    1
    Народ есть вопрос, только он не совсем к php относится.
    Суть такая: нужно сделать текст, который будет уменьшаться и увеличиваться от размера дисплея, например, если смотреть текст с компьютера, планшета, телефона он должен быть постоянно на весь экран и не уходить за дисплей, кароче без скролла
     
    #21921 I_I, 27 Nov 2013
    Last edited: 27 Nov 2013
  2. Sum.cogitans

    Sum.cogitans Elder - Старейшина

    Joined:
    7 Sep 2013
    Messages:
    173
    Likes Received:
    32
    Reputations:
    19
    Вот хорошая статья, так же можешь погуглить "Responsive typography"
    http://tympanus.net/codrops/2013/11/19/techniques-for-responsive-typography/
     
  3. I_I

    I_I Member

    Joined:
    22 Nov 2013
    Messages:
    67
    Likes Received:
    6
    Reputations:
    1

    А можно еще больше информации
     
  4. Sum.cogitans

    Sum.cogitans Elder - Старейшина

    Joined:
    7 Sep 2013
    Messages:
    173
    Likes Received:
    32
    Reputations:
    19
    https://www.google.ru/search?client=safari&rls=en&q=Responsive+typography&ie=UTF-8&oe=UTF-8&gws_rd=cr&ei=NZOWUteQLIaWyQOHkoCIBg
    По моему, тут ее исчерпывающее количество. Будут более конкретные вопросы пиши. Сомневаюсь, что у кого-то будет желание писать верстку за тебя.
     
  5. I_I

    I_I Member

    Joined:
    22 Nov 2013
    Messages:
    67
    Likes Received:
    6
    Reputations:
    1
    Да я знаю, спасибо хоть за это :)
     
  6. od1n0chka

    od1n0chka Member

    Joined:
    13 Dec 2010
    Messages:
    297
    Likes Received:
    47
    Reputations:
    1
    есть форма отправки
    PHP:
    <form method="post" action="send_mail.php">

    <
    div class="left"><span class="red"></span> <strong>Предприятие:</strong><br>
    <
    input type="text" name="name" /></div>

    <
    div class="left"><span class="red"></span> <strong>Контактное лицо:</strong><br>
    <
    input type="text" name="contact" /></div>

    <
    div class="left"><span class="red"></span> <strong>Должность:</strong><br>
    <
    input type="text" name="dol" /></div>

    <
    div class="left"><span class="red"></span> <strong>Телефон:</strong><br>
    <
    input type="text" name="tel" /></div>

    <
    div class="left"><span class="red"></span> <strong>E-mail:</strong><br>
    <
    input type="text" name="email" /></div>

    <
    div class="left"><span class="red"></span> <strong>Сообщение:</strong><br>
    <
    textarea name="mess" ></textarea></div>

    <
    input type="file" name="filename">
    <
    input type="image" value="Oтправить" class="src">
    </
    form>
    и сам файл send_mail.php
    PHP:
    <?php
    if (isset($_POST['name'])) {$name $_POST['name'];}
    if (isset(
    $_POST['email'])) {$email $_POST['email'];}
    if (isset(
    $_POST['contact'])) {$mess $_POST['contact'];}
    if (isset(
    $_POST['dol'])) {$den $_POST['dol'];}
    if (isset(
    $_POST['tel'])) {$mes $_POST['tel'];}
    if (isset(
    $_POST['mess'])) {$god $_POST['mess'];}
    if (isset(
    $_POST['filename'])) {$filename $_POST['filename'];}

    if (empty(
    $name))
    {
    echo 
    "<p>Не указано имя</p>";
    exit;
    }
    if (empty(
    $email))
    {
    echo 
    "<p>Не указан email</p>";
    exit;
    }
    if(!
    preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i"$email))
    {
    echo 
    "<p>Неверный mail</p>";
    exit;
    }
    if (empty(
    $contact))
    {
    echo 
    "<p>Не введены контакт</p>";
    exit;
    }
    if (empty(
    $dol))
    {
    echo 
    "<p>Не введена должность</p>";
    exit;
    }
    if (empty(
    $tel))
    {
    echo 
    "<p>Не введён телефон</p>";
    exit;
    }
    if (empty(
    $mess))
    {
    echo 
    "<p>Не введено сообщение</p>";
    exit;
    }
    if (empty(
    $filename)){
        
    $to "[email protected]"//Кому
        
    $headers "Content-type: text/plain; charset = utf-8";
        
    $subject "сообщение с сайта ec-averon.com.ua"//тема
        
    $message "name: $name \ne-mail: $email \n Contact: $contact \n dolgnost: $dol \n tel: $tel \n message: $mess";
        
    $send mail ($to$subject$message$headers); //Отправляем письмо
    }
    else {
        
    $to "[email protected]"//Кому
        
    $from "$email"//От кого
        
    $subject "сообщение с сайта ec-averon.com.ua"//тема
          
    $message "name: $name \ne-mail: $email \n Contact: $contact \n dolgnost: $dol \n tel: $tel \n message: $mess";
        
    $boundary "---"//Разделитель
    /* Заголовки */
        
    $headers "From: $from\nReply-To: $from\n";
        
    $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"";
        
    $body "--$boundary\n";
    /* Присоединяем текстовое сообщение */
        
    $body .= "Content-type: text/html; charset=utf-8\n";
        
    $body .= "Content-Transfer-Encoding: quoted-printablenn";
        
    $body .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode($filename)."?=\n\n";
        
    $body .= $message."\n";
        
    $body .= "--$boundary\n";
        
    $file fopen($filename"r"); //Открываем файл
        
    $text fread($filefilesize($filename)); //Считываем весь файл
        
    fclose($file); //Закрываем файл
    /* Добавляем тип содержимого, кодируем текст файла и добавляем в тело письма */
        
    $body .= "Content-Type: application/octet-stream; name==?utf-8?B?".base64_encode($filename)."?=\n"
        
    $body .= "Content-Transfer-Encoding: base64\n";
        
    $body .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode($filename)."?=\n\n";
        
    $body .= chunk_split(base64_encode($text))."\n";
        
    $body .= "--".$boundary ."--\n";
        
    $send=mail($to$subject$body$headers); //Отправляем письмо
    }
    if (
    $send == 'true')
    {
    $verify mail ($address,$sub,$mes,"Content-type:text/plain; charset = windows-1251\r\nFrom:$email");
          if (
    $verify == 'true')
        
         {
           echo 
    "<p>Успешно отправлено</p>";
          }
    echo 
    "Вернуться";
    }
    else
    {
    echo 
    "<p>ошибка отправки</p>";
    }
    ?>
    при отправке без прикрепления файла всё ок... а когда приклепляешь файл, он приходит весом в 1 кб
     
  7. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    https://github.com/PHPMailer/PHPMailer
     
    5 people like this.
  8. od1n0chka

    od1n0chka Member

    Joined:
    13 Dec 2010
    Messages:
    297
    Likes Received:
    47
    Reputations:
    1
    а штатным mail обойтись не получиться?
     
  9. extjs

    extjs Member

    Joined:
    23 Jun 2013
    Messages:
    31
    Likes Received:
    6
    Reputations:
    0

    см массив var_dump($_FILES);

    и для отладки всегда первой строчкой пиши
    error_reporting(E_ALL);
     
    #21929 extjs, 28 Nov 2013
    Last edited: 28 Nov 2013
  10. od1n0chka

    od1n0chka Member

    Joined:
    13 Dec 2010
    Messages:
    297
    Likes Received:
    47
    Reputations:
    1
    см массив var_dump($_FILES); в коде вообще такого не увидел

    насчёт error_reporting(E_ALL);

    PHP:
    Warningfopen(002_3.png): failed to open streamNo such file or directory in /sata2/home/users/ecaveron/www/www.ec-averon.com.ua/send_mail.php on line 76 Warningfilesize(): stat failed for 002_3.png in
     
    /sata2/home/users/ecaveron/www/www.ec-averon.com.ua/send_mail.php on line 77 Warningfread() expects parameter 1 to be resourceboolean given in /sata2/home/users/
    ecaveron/www/www.ec-averon.com.ua/send_mail.php on line 77 Warningfclose() expects parameter 1 to be resourceboolean given in /sata2/home/users/ecaveron/www/www.ec-averon.com.ua/send_mail.php on line 78
    в ошибках:(не найден файл) я не могу понять.. раз у меня с формы берёться файл... куда он подгружается? как узнать путь к файлу?который отправляеться
     
  11. BoWoy

    BoWoy New Member

    Joined:
    17 Jun 2013
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Пытаюсь подключится к 3389(rdp)

    Но проблема при проверке
    Если все правильно делаю, как проверить осуществилась ли авторизация?
    За помощь, отблагодарю материально :)
     
    #21931 BoWoy, 28 Nov 2013
    Last edited: 28 Nov 2013
  12. Jazz

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

    Joined:
    27 Sep 2008
    Messages:
    80
    Likes Received:
    2
    Reputations:
    -1
    Есть строка


    ///...2626356/AAAAAAAAAAAAAA.34563456fgjjf/098))
    Подскажите есть ли способ загнать в переменную все до АААААААА?
    И например в другую переменную все после ААААААА
    (включаю саму ААААААА и без ААААААА в обоих случаях)
    Начало и конец изменяются!
    ("/^:)\/\/)?([^\/]+)/i" по этому подобное не прокатит!

    Юзаю preg_match

    Помогите Котаны.
     
    #21932 Jazz, 29 Nov 2013
    Last edited: 29 Nov 2013
  13. Jazz

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

    Joined:
    27 Sep 2008
    Messages:
    80
    Likes Received:
    2
    Reputations:
    -1
    и еще если не трудно.

    есть файл со списком(много строк)
    как сделать чтоб цикл вертелся пока в файле есть строки которые еще не применялись в нем.
    строка из файла будет использоваться внутри цикла есссно.


    С выше написанным всё ясно.

    Code:
    $handle = fopen("domen.txt", "r");  
    while (($buffer = fgets($handle, 4096)) !== false) {}
    
    а можно чтоб следующий цикл начинался после определенного действия? например нажатия кнопки?
    но первый цикл запускается сам.
     
    #21933 Jazz, 29 Nov 2013
    Last edited: 29 Nov 2013
  14. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75

    PHP:
    $string "///...2626356/AAAAAAAAAAAAAA.34563456fgjjf/098))";
    $separator "AAAAAAAAAAAAAA";

    $ex explode($separator,$string);

    echo 
    $ex[0].$separator."<br>";
    echo 
    $separator.$ex[1];

    ==============================================

    чёза бредобред, нормально и подробна разпиши чо нада

    ==============================================



    он в тмп подгружается, ето во первых, во вторых,



    PHP:
    if (isset($_POST['name'])) {$name $_POST['name'];} 
    if (isset(
    $_POST['email'])) {$email $_POST['email'];} 
    if (isset(
    $_POST['contact'])) {$mess $_POST['contact'];} 
    if (isset(
    $_POST['dol'])) {$den $_POST['dol'];} 
    if (isset(
    $_POST['tel'])) {$mes $_POST['tel'];} 
    if (isset(
    $_POST['mess'])) {$god $_POST['mess'];} 
    if (isset(
    $_POST['filename'])) {$filename $_POST['filename'];}
    нечё страшного что переменные $_POST присваиваются переменным которых быть недолжно? присваиваешь данные переменной $den а в скрипте проверяешь $dol,
    в третих, ошибку пишет потомучто файла нет, а нет потомучто его нужно из тмп загрузить, доки хоть бы почитал, на

     
    #21934 qaz, 29 Nov 2013
    Last edited: 29 Nov 2013
  15. XIIIcool

    XIIIcool New Member

    Joined:
    22 Dec 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    Кто пользовался движком Chevereto ? как создать новую страничку чтобы на неё передавался адрес картинки?
     
  16. SIS_ADMIN

    SIS_ADMIN New Member

    Joined:
    17 Oct 2013
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    подскажите бесплатный видео курс по php
     
  17. Jazz

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

    Joined:
    27 Sep 2008
    Messages:
    80
    Likes Received:
    2
    Reputations:
    -1
    Пишу понятнее.

    это в Human Emulator

    выбирается домен из файла. заполняются все поля и сразу переходит на следующий домен, а нужно заполнить капчу и нажать кнопку после чего к следующему домену из файла переходить и т.д.


    при записи нажатие кнопки выглядит так.
    Code:
    $button->click_by_name('submit'); $browser->wait_for(60,1);


    Code:
    <?php
    
    $xhe_host ="127.0.0.1:7010";
    
    // The following code is required to properly run XWeb Human Emulator
    require("../Templates/xweb_human_emulator.php");
    
    $one = true;
    
    $handle = fopen("domen.txt", "r"); 
    while (($buffer = fgets($handle, 4096)) !== false || $one = true)  
    
    {$anchor->click_by_inner_text('Ðåãèñòðàöèÿ',true);
    $browser->navigate($buffer);
    $browser->wait_for(60,1);
    $anchor->click_by_inner_text('Ðåãèñòðàöèÿ',true);
    $browser->wait_for(60,1);
    $button->click_by_name('agreed');
    $browser->wait_for(60,1);
    $input->set_value_by_name('username','333333');
    $input->set_value_by_name('email','33333333333');
    $input->set_value_by_name('email_confirm','4444444444');
    $input->set_value_by_name('new_password','55555555555');
    $input->set_value_by_name('password_confirm','6666666666666');
    
    $one = false;
    }
    
    if ($button->click_by_name('submit') = true)
     { $one = true;}
    
    // Quit
    $app->quit();
    
    
    ?>
     
    #21937 Jazz, 30 Nov 2013
    Last edited: 30 Nov 2013
  18. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    Всем привет!
    впереди праздники, и хочется сделать смену логотипа сайта на новогодний, с 1 по 7 января, что бы он сменился как подойдёт данная дата

    можно ли реализовать таким образом?
    сравнивать дату если не с первого января по 7е то показывать один логотип, если даты совпали то другой, год и время не важны

    вопрос решил
     
    #21938 GAiN, 30 Nov 2013
    Last edited: 30 Nov 2013
  19. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    GAiN

    http://pl1.php.net/manual/en/function.date.php
    http://pl1.php.net/manual/en/control-structures.if.php
    http://pl1.php.net/manual/en/function.echo.php
     
    _________________________
    1 person likes this.
  20. half-death

    half-death New Member

    Joined:
    4 Jul 2013
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Multi cUrl (POST after GET)

    Граждане помогите закончить скрипт или дать внятное объяснение. Скрипт написал в курле, всё работает как надо, но в мульти курле, он работать не хочет.
    Суть скрита в том, что отсылается гет запрос на сайт из ответа достаётся нужное нам значение и вместе с этим значением отсылается пост запрос, узнаётся ответ и соединение закрывается.

    вот рабочий скрипт курл

    Code:
    <?php
    $start_time = microtime(true); // Инициализация счётчика
    $proxies = file ("proxylist.txt"); //Список прокси
    $ualist = file('ua.txt'); //Список User Agent
    $url = ''; //Куда будем конектиться
    $header = array(); // Заголовок
    $header[] = 'Connection: keep-alive';
    $header[] = 'Cache-Control: max-age=0';
    $header[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
    $header[] = 'Accept-Encoding: gzip,deflate,sdch';
    $header[] = 'Accept-Language: ru,en-us;q=0.7,en;q=0.3';
    $header[] = 'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7';
    $patternGET = '/=".{42}"/i';
    $patternPOST = array();
    $patternPOST[] = '/Ответ_1./i';
    $patternPOST[] = '/Ответ_2/i';
    	foreach($proxies as $num =>$file)
    { 
    	$ch = curl_init(); //Инициализируем запрос
    	$ua = trim($ualist[ array_rand($ualist) ]); //Рандомный User Agent
    	curl_setopt($ch, CURLOPT_URL, $url);
    	curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    	curl_setopt($ch,CURLOPT_USERAGENT, $ua); 
    	curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 10);
    	curl_setopt ($ch, CURLOPT_TIMEOUT, 20);
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    	$subjectGET = curl_exec($ch); // выполняем запрос curl и записываем результат html в переменную
    	preg_match($patternGET, $subjectGET, $matches, PREG_OFFSET_CAPTURE);
    	$string = $matches[0][0];
    	$rest = substr($string, 2, -1); //Получаем нужную для Пост запроса инфу
    
    	curl_setopt($ch, CURLOPT_POST, 1);
    	curl_setopt($ch, CURLOPT_POSTFIELDS, 'vk='.$rest);
    	curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 200);
    	curl_setopt ($ch, CURLOPT_TIMEOUT, 200);
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    	curl_setopt($ch, CURLOPT_PROXY, $file);
    	$subjectPOST = curl_exec($ch);
    	if (preg_match($patternPOST[0], $subjectPOST, $matches2, PREG_OFFSET_CAPTURE)){
    		print_r($matches2[0][0]."<br><br>");
    	}
    	elseif (preg_match($patternPOST[1], $subjectPOST, $matches2, PREG_OFFSET_CAPTURE)){
    		print_r($matches2[0][0]."<br><br>");
    	}
    	else {
    		echo "Что то пошло не так=(<br><br>";
    	}
    	curl_close($ch); //Закрываем соединение
     }
     $end_time = microtime(true);
    echo round(($end_time-$start_time),5)." сек";
    ?>
    
    а вот мульти курл

    Code:
        <?php
        $start_time = microtime(true); // Инициализация счётчика
        $proxies = file ("list.txt"); //Список прокси
        $ualist = file('ua.txt'); //Список User Agent
        $url = ''; //Куда будем конектиться
        $header = array(); // Заголовок
        $header[] = 'Connection: keep-alive';
        $header[] = 'Cache-Control: max-age=0';
        $header[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
        $header[] = 'Accept-Encoding: gzip,deflate,sdch';
        $header[] = 'Accept-Language: ru,en-us;q=0.7,en;q=0.3';
        $header[] = 'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7';
        $patternGET = '/=".{42;}"/i';
        $patternPOST = array();
        $patternPOST[] = '/Ответ_1/i';
        $patternPOST[] = '/Ответ_2/i';
    
        $mc = curl_multi_init ();
        for ($thread_no = 0; $thread_no < count ($proxies); $thread_no++)
        {
        $c [$thread_no] = curl_init ();
        $ua = trim($ualist[ array_rand($ualist) ]); //Рандомный User Agent
        curl_setopt ($c [$thread_no], CURLOPT_URL, $url);
        curl_setopt ($c [$thread_no], CURLOPT_HEADER,$header);
        curl_setopt($c [$thread_no], CURLOPT_USERAGENT, $ua); 
        curl_setopt ($c [$thread_no], CURLOPT_RETURNTRANSFER, 1);
        curl_setopt ($c [$thread_no], CURLOPT_CONNECTTIMEOUT, 5);
        curl_setopt ($c [$thread_no], CURLOPT_TIMEOUT, 10);
        // curl_setopt ($c [$thread_no], CURLOPT_PROXY, trim ($proxies[$thread_no]));
        curl_setopt ($c [$thread_no], CURLOPT_PROXYTYPE, 0);
        curl_multi_add_handle ($mc, $c [$thread_no]);
        }
        do {
        while ($done = curl_multi_info_read ($mc))
        {
        $info = curl_getinfo ($done ['handle']);
        $body = curl_multi_getcontent($done['handle']);
        preg_match($patternGET, $body, $matches, PREG_OFFSET_CAPTURE);
        $string = $matches[0][0];
        $rest = substr($string, 2, -1);
        print($rest."<br><br>");
            $ch = curl_init();
            $ua = trim($ualist[ array_rand($ualist) ]); //Рандомный User Agent
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
            curl_setopt($ch,CURLOPT_USERAGENT, $ua); 
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
            curl_setopt($ch, CURLOPT_TIMEOUT, 20);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, 'vk='.$rest);
            $subjectPOST = curl_exec($ch);
                if (preg_match($patternPOST[0], $subjectPOST, $matches2, PREG_OFFSET_CAPTURE)){
                print_r($matches2[0][0]."<br><br>");
            }
            elseif (preg_match($patternPOST[1], $subjectPOST, $matches2, PREG_OFFSET_CAPTURE)){
                print_r($matches2[0][0]."<br><br>");
            }
            else {
                echo "Что то пошло не так=(<br><br>";
            }
            curl_close($ch); //Закрываем соединение
        curl_multi_remove_handle ($mc, $done ['handle']);
        }
        while (($execrun = curl_multi_exec ($mc, $running)) == CURLM_CALL_MULTI_PERFORM);
        if ($execrun != CURLM_OK) break;
        } while ($running);
        curl_multi_close ($mc);
         $end_time = microtime(true);
        echo round(($end_time-$start_time),5)." сек";
        ?>
    
    Подскажите в чём проблема?
     
Thread Status:
Not open for further replies.