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

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

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

    sl1k Member

    Joined:
    31 Jul 2009
    Messages:
    106
    Likes Received:
    26
    Reputations:
    5
    как насчет
    PHP:
    $line explode("\r\n",htmlspecialchars($_POST['data'])); 
    ?
     
  2. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    echo htmlspecialchars($ar[0])."=".htmlspecialchars($stf)."</br>";
     
  3. v00d

    v00d Member

    Joined:
    11 Oct 2010
    Messages:
    34
    Likes Received:
    10
    Reputations:
    7
    PHP:
    ...
    <script language="javascript" type="text/javascript">window.top.window.stopUpload(<?php echo $result",'".($result $newname '')."'"?>);</script>
    Code:
    function stopUpload(success, link){
          var result = '';
          if (success == 1){
             result = '<span class="mymsg"><\/span>';
     editor = ipb.textEditor.getEditor(ipb.topic.fastReplyId);
     editor.insert("[img]" + link + "[/img]", true );
          }
    ...
     
  4. daniel777

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

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    На странице сайта для мобильных есть баннер с ссылкой на другой сайт.
    Как правильнее всего будет организовать учёт переходов по этому баннеру?
    Нужно максимально универсальное решение.
    Варианта кроме как в ссылке на Onclick повесить запрос в /stats.php (который запишет уже информацию) не вижу. Натолкните в правильное русло:)
     
  5. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Баннерная ссылка ведет на некий banner.php?id=1, который анализирует id, учитывает переход и редиректит пользователя дальше.
     
    1 person likes this.
  6. Student :)

    Student :) Elder - Старейшина

    Joined:
    9 Feb 2007
    Messages:
    278
    Likes Received:
    18
    Reputations:
    -15
    помогите написать na PHP

    вот такая простая задачка
    мне нужно создать цикл
    который бы перебрал любые комбинации.
    например строка
    1234567890

    мне нужно чтоб
    было так
    1.234567890
    1..234567890
    1...234567890
    .............

    и т д

    потом
    1...........2.34567890
    1...........2..34567890
    1...........2...34567890

    и т д

    прошу помощи.
     
  7. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    Ничего непонятно что за комбинации и по какому принципу.
     
  8. Student :)

    Student :) Elder - Старейшина

    Joined:
    9 Feb 2007
    Messages:
    278
    Likes Received:
    18
    Reputations:
    -15
    мне нужны любые комбинации точки в тексте ограничение 50 сиволов
     
  9. Skofield

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

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    392
    Reputations:
    58
    что значит любые комбинации точки? нужно по 50 точек между цифрами раставить что ли?
     
  10. Student :)

    Student :) Elder - Старейшина

    Joined:
    9 Feb 2007
    Messages:
    278
    Likes Received:
    18
    Reputations:
    -15
    обычный перебор нужно сделать например
    1.23
    1.2.3
    1..2.3
    1...2.3
    и тд
    1.2..3
    1.2...3
    1.2....3

    короче все возможные комбинации

    ограничение строки в 50 символов
     
    #21310 Student :), 9 Dec 2012
    Last edited: 9 Dec 2012
  11. AnomaIy

    AnomaIy New Member

    Joined:
    17 Nov 2012
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    PHP:
    <?
        
    $api_key "MY API KEY";
        
    $file getcwd() . '/' basename$_FILES['myfile']['name']);
        
    move_uploaded_file($_FILES['myfile']['tmp_name'], $file);
    $result 0;
        list(
    $width$height$file_type) = getimagesize($file);

        if (
    $file_type == 3) {
            
    $image imagecreatefrompng($file);
            
    imagealphablending($imagefalse);
            
    imagesavealpha($imagetrue);
            
    ob_start();
            
    imagepng($image);
            
    $data =  ob_get_contents();
            
    ob_end_clean();
        }

        if (
    $file_type == 2) {
            
    $image imagecreatefromjpeg($file);
            
    imagealphablending($imagefalse);
            
    imagesavealpha($imagetrue);
            
    ob_start();
            
    imagejpeg($image);
            
    $data =  ob_get_contents();
            
    ob_end_clean();
        }

        if (
    $file_type == 1) {
            
    $image imagecreatefromgif($file);
            
    imagealphablending($imagefalse);
            
    imagesavealpha($imagetrue);
            
    ob_start();
            
    imagegif($image);
            
    $data =  ob_get_contents();
            
    ob_end_clean();
        }

        
    $pvars   = array('image' => base64_encode($data), 'key' => $api_key);
        
    $timeout 30;
        
    $curl    curl_init();
        
    $post    http_build_query($pvars);

        
    curl_setopt($curlCURLOPT_URL'http://imgur.com/api/upload.xml');
        
    curl_setopt($curlCURLOPT_TIMEOUT$timeout);
        
    curl_setopt($curlCURLOPT_POST1);
        
    curl_setopt($curlCURLOPT_POSTFIELDS$post);
        
    curl_setopt($curlCURLOPT_HTTPHEADER, array("Content-type: application/x-www-form-urlencoded"));
        
    curl_setopt($curlCURLOPT_RETURNTRANSFER1);
        
    $xml_raw curl_exec($curl);
        
    curl_close ($curl);
        
    unlink($file);

        
    $xml = new SimpleXMLElement($xml_raw);

        if (
    $xml->error_code != '') {
            
    $imgur_error_code $xml->error_code;
            
    $imgur_error_msg $xml->error_msg;

            
    settype($imgur_error_code"string");
            
    settype($imgur_error_msg"string");

            echo 
    "<h1>Error #" $imgur_error_code ", " $imgur_error_msg "</h1>";
        }
        else {
            
    imagedestroy($image);
            
    $imgur_original $xml->original_image;

            
    settype($imgur_original"string");
    $result 1;        

            }
    sleep(1);
    ?>

    <script language="javascript" type="text/javascript">window.top.window.stopUpload(<?=$result?>,'<?=$imgur_original;?>');</script>
    с помощью этого скрипта на IMGUR отправляю картинку и получаю ссылку на эту картинку. переделал его из плагина для WP
    но проблема в том что если картинка превышает размеров 1024/768 нужно отправить картинку 1024/768. если не превышает тогда отправить в оригинале.
    могу получить с IMGUR thumbnail, но:
    1) получаю *.JPG, без разницы отправляю jpg, gif или png. это конечно проблема для *.gif и *.png
    2) получаю не 1024/768
    нужно записать в этом скрипт функцию такое чтоб если картинка.jpg/png превышает размеров 1024/768, уменьшить до 1024/768 и только после этого отправить. если не превышает тогда отправить в оригинале. картинка.gif очень редко с размером свыше 1024/768, Так что можно его оставить нетронутым.
    в google нашел несколько такое php но интегрировать не смог :(

    P.S. извиняюсь за мой русский!
     
    #21311 AnomaIy, 9 Dec 2012
    Last edited: 9 Dec 2012
  12. AnomaIy

    AnomaIy New Member

    Joined:
    17 Nov 2012
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    PHP:
    <?
        
    $api_key "MY API KEY";
        
    $file getcwd() . '/' basename$_FILES['myfile']['name']);
        
    move_uploaded_file($_FILES['myfile']['tmp_name'], $file);
    $result 0;
        list(
    $width$height$file_type) = getimagesize($file);
        
        if( (
    $width>1024 || $height>768) && ($file_type == || $file_type == 3) )
    {
    /* сделал так показывает echo и удаляет файл */
    /* но нужно функция который место этого изменяет ширина и высота до 1024/768 если размеры фото превышает 1024/768 */
    echo '<script type="text/javascript">alert("Maximum size: 1024/768 ");</script>';
    unlink($file);


        if (
    $file_type == 3) {
            
    $image imagecreatefrompng($file);
            
    imagealphablending($imagefalse);
            
    imagesavealpha($imagetrue);
            
    ob_start();
            
    imagepng($image);
            
    $data =  ob_get_contents();
            
    ob_end_clean();
        }

        if (
    $file_type == 2) {
            
    $image imagecreatefromjpeg($file);
            
    imagealphablending($imagefalse);
            
    imagesavealpha($imagetrue);
            
    ob_start();
            
    imagejpeg($image);
            
    $data =  ob_get_contents();
            
    ob_end_clean();
        }

        if (
    $file_type == 1) {
            
    $image imagecreatefromgif($file);
            
    imagealphablending($imagefalse);
            
    imagesavealpha($imagetrue);
            
    ob_start();
            
    imagegif($image);
            
    $data =  ob_get_contents();
            
    ob_end_clean();
        }

        
    $pvars   = array('image' => base64_encode($data), 'key' => $api_key);
        
    $timeout 60;
        
    $curl    curl_init();
        
    $post    http_build_query($pvars);

        
    curl_setopt($curlCURLOPT_URL'http://imgur.com/api/upload.xml');
        
    curl_setopt($curlCURLOPT_TIMEOUT$timeout);
        
    curl_setopt($curlCURLOPT_POST1);
        
    curl_setopt($curlCURLOPT_POSTFIELDS$post);
        
    curl_setopt($curlCURLOPT_HTTPHEADER, array("Content-type: application/x-www-form-urlencoded"));
        
    curl_setopt($curlCURLOPT_RETURNTRANSFER1);
        
    $xml_raw curl_exec($curl);
        
    curl_close ($curl);
        
    unlink($file);

        
    $xml = new SimpleXMLElement($xml_raw);

        if (
    $xml->error_code != '') {
            
    $imgur_error_code $xml->error_code;
            
    $imgur_error_msg $xml->error_msg;

            
    settype($imgur_error_code"string");
            
    settype($imgur_error_msg"string");

            echo 
    "<h1>Error #" $imgur_error_code ", " $imgur_error_msg "</h1>";
        }
        else {
            
    imagedestroy($image);
            
    $imgur_original $xml->original_image;

            
    settype($imgur_original"string");
    $result 1;        

            }
    sleep(1);
    ?>

    <script language="javascript" type="text/javascript">window.top.window.stopUpload(<?=$result?>,'<?=$imgur_original;?>');</script>

    PHP:
        if( ($width>1024 || $height>768) && ($file_type == || $file_type == 3) )
    {
    /* сделал так показывает echo и удаляет файл */
    /* но нужно функция который место этого изменяет ширина и высота до 1024/768 если размеры фото превышает 1024/768 */
    echo '<script type="text/javascript">alert("Maximum size: 1024/768 ");</script>';
    unlink($file);
    ???
     
  13. PROPH3T

    PROPH3T New Member

    Joined:
    20 Nov 2007
    Messages:
    23
    Likes Received:
    1
    Reputations:
    0
    Ребята, помогите написать скрипт, который бы из файла с содержимым:

    создал на выходе массив вида:

    P.S В качестве значения в файле может быть и ссылка и путь к файлу.

    Если можно - в ЛС пожалуйста.
     
    #21313 PROPH3T, 13 Dec 2012
    Last edited: 13 Dec 2012
  14. daniel777

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

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    PROPH3T, попробуйте функцию parse_ini_file, в противном случае придется разбирать файл построчно, разрезать строки итд.

    Nightmarе, попробуйте функцию simplexml_load_string().
    Как вариант - использовать регулярные выражения.
     
  15. PROPH3T

    PROPH3T New Member

    Joined:
    20 Nov 2007
    Messages:
    23
    Likes Received:
    1
    Reputations:
    0
    daniel777, parse_ini_file отпадает, а вот со вторым вариантом - аглоритм крутится в голове, но не могу реализовать, вот и прошу помощи, кому не сложно.
     
  16. daniel777

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

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    Вот вам ужасный код, но работает.
    Его проблема в том, что он правильно обработает только такую и такую строки:
    Code:
    qwe.qaz = zzzzz
    rty.asd.vvvvv = 'uytuyt'
    Остальные(где количество индексов другое) - пропустит.
    PHP:
    <?php

    foreach(file('res.ini') as $a){

    if(
    $a[0]!=';'&&strlen($a)>'2'){

    $b=explode(' = '$a);

    $c=explode('.'$b[0]);

    if(
    count($c)=='2'){
    $res[$c[0]][$c[1]]=$b[1];
    }
    if(
    count($c)=='3'){
    $res[$c[0]][$c[1]][$c[2]]=$b[1];
    }
    }
    }
    print_r($res);

    ?>
     
    2 people like this.
  17. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,035
    Likes Received:
    534
    Reputations:
    935
    PHP:
    $test '
    <data>
    <domains>
    <domain id="19">
    domen1.ru
    </domain>
    <domain id="29">
    domen2.ru
    </domain>
    <domain id="41">
    domen3.ru
    </domain>
    <domain id="54">
    domen4.ru
    </domain>
    </domains>
    далее идут ненужные значения
    </data>'
    ;

    preg_match_all('#<domain(?:[^>]+)>([^<]+)</domain>#is'$test$matches);
    $domainsList array_map('trim'$matches[1]);
    $domain $domainsList[array_rand($domainsList1)];
    print 
    $domain;
     
    _________________________
    1 person likes this.
  18. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,035
    Likes Received:
    534
    Reputations:
    935
    PHP:
    $file file_get_contents('file.txt');

    foreach(
    array_map('trim'explode("\n"$file)) as $content) {
       if(
    strstr($content' = ')) {
          list(
    $key$data) = explode(" = "$content);
          eval(
    "\$array['".str_replace('.'"']['"$key)."'] = '".str_replace("'"''$data)."';");
       }
    }

    print_r($array);
    Code:
    Array
    (
        [qwe] => Array
            (
                [qaz] => zzzzz
                [wsx] => xxxxx
                [edc] => ccccc
            )
    
        [rty] => Array
            (
                [asd] => Array
                    (
                        [vvvvv] => uytuyt
                        [bbbbb] => yuioiu
                        [nnnnn] => rtyuiypu
                    )
    
                [mmmmm] => kjhbmn
            )
    
    )
     
    _________________________
  19. Vinsik

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

    Joined:
    4 Oct 2008
    Messages:
    189
    Likes Received:
    4
    Reputations:
    -5
    мужики, помогите составить регулярку
    нужно искать в тексте тег <a></a> вот пример
    PHP:
     <a amba="тутможетбытьнаписанохотьчо"  id="usero" href="тутможетбытьнаписанохотьчо">
    я помню что то вроде (.*) но там еще слеши нужны, я забылъ(

    Тобишь:
    PHP:
    preg_replace('<a amba="(.*)"  id="usero" href="(.*)">'''$content)
     
  20. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    Vinsik
    Не совсем понял, что конкретно нужно, мб то, что надо
    PHP:
     preg_replace('<a amba="([^"])"  id="usero" href="([^"])">'''$content)
     
Thread Status:
Not open for further replies.