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

Discussion in 'PHP' started by Kaimi, 7 May 2015.

  1. Octavian

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

    Joined:
    8 Jul 2015
    Messages:
    506
    Likes Received:
    101
    Reputations:
    25
    https://file-up.net/big/ff/ff3b3d4869223dd7bc20170128151757.jpg
    Первые 3 субмита работают с input="radio" и отправляют action="controler.php" хочю сделать поиск которыи сам по себе форма которыи отправляет по тому же адресу данные action=""
     
  2. 1n0y

    1n0y Active Member

    Joined:
    9 May 2009
    Messages:
    276
    Likes Received:
    282
    Reputations:
    2
    пацы, гружу картинку с интернетов по ссылке и сохраняю на сервер, а потом загружаю ее в память и работаю с ней, потом сохраняю на диск опять, потом загружаю ее на сервер вк. как избавится от сохранения на диск?

    Code:
              
    $imglink = сцылка;
    copy($imglink, 'downld2.jpg');
    $image = "downld2.jpg";
    $source = imagecreatefromjpeg($image);
    
    тут я создаю картинку $img, копирую туда обработанный соурс..
    
    imagejpeg($img, $image); // потом сохраняю это всё обратно на диск
                        
    imagedestroy($img);
    imagedestroy($source);
             
    $url = урлВкСервера;
    $postData['file1'] = '@' . $image; <-- как загрузить картинку из памяти вот сюда?
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_VERBOSE, true);
    $response = curl_exec($ch);
    curl_close($ch);
    
     
    Strilo4ka likes this.
  3. crlf

    crlf Green member

    Joined:
    18 Mar 2016
    Messages:
    683
    Likes Received:
    1,513
    Reputations:
    460
    PHP:

    $post 
    '-----------------------------957a670ce8acfc7c9930ca1b53da5b0f
    Content-Disposition: form-data; name="file"; filename="image.jpg"
    Content-Type: image/jpg

    '
    .$image_content.'
    -----------------------------957a670ce8acfc7c9930ca1b53da5b0f--
    '
    ;
      
    $ch curl_init();
      
    curl_setopt($chCURLOPT_URL$url);
      
    curl_setopt($chCURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data; boundary=---------------------------957a670ce8acfc7c9930ca1b53da5b0f'));
      
    curl_setopt($chCURLOPT_POSTFIELDS$post);
      
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
      
    curl_setopt($chCURLOPT_VERBOSEtrue);
      
    $response curl_exec($ch);
      
    curl_close($ch);

     
    Strilo4ka and 1n0y like this.
  4. Octavian

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

    Joined:
    8 Jul 2015
    Messages:
    506
    Likes Received:
    101
    Reputations:
    25
    Как правильно построить авторизацию на PHP
    предположим я проверил админа в БД и он не подошел; > login.php
    например проверяю задано ли переменая в ( $_SESSION['admin'] = 1) else и запрещаю доступ к index.php но тут проблема можно сделать редирект обратно на login.php но редирект он небезопасен


    как правильно построить
     
  5. crlf

    crlf Green member

    Joined:
    18 Mar 2016
    Messages:
    683
    Likes Received:
    1,513
    Reputations:
    460
    PHP:
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: ".$url."/login.php");
    exit;
    Опасен без exit.
     
  6. Octavian

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

    Joined:
    8 Jul 2015
    Messages:
    506
    Likes Received:
    101
    Reputations:
    25
    До но у меня там html вне PHP тегов и если exit() останавливает выполнение PHP мои шаблон будет виден всеравно
     
  7. crlf

    crlf Green member

    Joined:
    18 Mar 2016
    Messages:
    683
    Likes Received:
    1,513
    Reputations:
    460
    Проверка должна быть в самом начале, тогда проблем не будет.
     
  8. Octavian

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

    Joined:
    8 Jul 2015
    Messages:
    506
    Likes Received:
    101
    Reputations:
    25
    ок спасибо попробую
     
  9. Strilo4ka

    Strilo4ka

    Joined:
    5 Apr 2009
    Messages:
    709
    Likes Received:
    729
    Reputations:
    948
    PHP:
    <?php
    $il 
    'http://www.youloveit.ru/uploads/posts/2014-03/1396107096_tumblr_n1pvsl84571qfpbhro2_1280.jpg';

    // the content of 1.php is <?php move_uploaded_file($_FILES["file"]["tmp_name"], 'test.jpg');
    $host 'http://localhost/test/1.php';
    $parts parse_url($host);

    if (
    isCli()) {
      
    $line_break "\n";
      echo 
    "Run from console!".$line_break;
    } else {
      
    $line_break "<br>";
      echo 
    "Run did't console!".$line_break;
    }

    $s imagecreatefromjpeg($il);
    ob_start();
    imagejpeg($s);
    $ic ob_get_contents();
    ob_end_clean();
    imagedestroy($s);

    $sock socket_create(AF_INETSOCK_STREAM0) or die("Couldn't create socket");
    echo 
    "Socket created".$line_break;

    socket_connect($sock gethostbyname($parts['host']), 80) or die ("Couldn't connect");
    echo 
    "Connection established".$line_break;

    $boundary md5(rand());

    $body "--".$boundary."\n";
    $body .= "content-disposition: form-data; name='file'; filename='image'\n";
    $body .= "Content-Type: image/jpeg\n";
    $body .= "Content-Transfer-Encoding: binary\n\n";
    $body .= $ic."\n";
    $body .= "--".$boundary."\n";

    $mes "POST ".$parts['path']." HTTP/1.1\n";
    $mes .= "Host: ".$parts['host']."\n";
    $mes .= "Content-type: multipart/form-data, boundary=".$boundary."\n";
    $mes .= "Content-Length: ".strlen($body)."\n\n";
    $mes .= $body;

    socket_send($sock $mes strlen($mes), 0) or die("Couldn't send data");
    echo 
    "Message send successfully".$line_break;

    socket_recv($sock$buf2045MSG_WAITALL) or die("Couldn't receive data");
    echo 
    $buf;

    socket_close($sock);

    function 
    isCli() {
      if(
    php_sapi_name() == 'cli' && empty($_SERVER['REMOTE_ADDR'])) {
      return 
    true;
      } else {
      return 
    false;
      }
    }
    В test.jpg будет эта картинка)

    [​IMG]
     
    crlf and [aywo] like this.
  10. Octavian

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

    Joined:
    8 Jul 2015
    Messages:
    506
    Likes Received:
    101
    Reputations:
    25
    В универе дали такое задание создать программу по схеме :
    http://s8.uploads.ru/t/YkuDz.jpg
    Ка язык я выбрал ПХП-шку
    Быстро составил такои код но по ходу я что то недопонимаю помогите
    Все что до while правильно
    Scrie => echo
    Code:
    <?php
    $a = $_GET['a'];
    $b = $_GET['b'];
    $n = $_GET['n'];
    
    $h = (($b - $a)/$n);
    $y1 = (pow($a,2)+$a+5);
    $x = $a + $h;
    
    while( $x <= $b ){
        $y2 = (pow($x,2)+$x+5);
        if($y1 * $y2 < 0){
            $a = $x - $h;
            $b = $x;
            echo "a = $a";
            echo "b = $b";
        }
        else { }
    $y1 = $y2;
    $x += $h;
    }
            echo 'x > b';
    ?>
     
  11. kranx

    kranx Member

    Joined:
    19 Feb 2017
    Messages:
    17
    Likes Received:
    7
    Reputations:
    0
    Code:
    $a = $_GET['a'];
    $b = $_GET['b'];
    $n = $_GET['n'];
    
    $h = (($b - $a)/$n);
    $y1 = (pow($a,2)+$a+5);
    $x = $a + $h;
    
    while( $x <= $b ){
      $y2 = (pow($x,2)+$x+5);
      if($y1 * $y2 < 0){
      echo ($x-$h).'<br>'.$x.'<br>';
      }
      $y1 = $y2;
      $x += $h;
    }
    
    echo "x > b";
     
    Octavian likes this.
  12. Octavian

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

    Joined:
    8 Jul 2015
    Messages:
    506
    Likes Received:
    101
    Reputations:
    25
    Хочу замутить репозитории файлов на PHP в админке . при загрузке админ выбирал доступность для всех или только для него . Вопрос как это можно сделать как блокировать доступ к pdf......... если сесия незадано
     
  13. rudu2

    rudu2 New Member

    Joined:
    16 Dec 2016
    Messages:
    45
    Likes Received:
    4
    Reputations:
    0
    Есть код дешефрует шифрованный текст
    <?php
    function encrypty($string, $pwd) {
    $string = base64_decode($string);
    $pwd = str_split(str_pad('', strlen($string), $pwd, STR_PAD_RIGHT));
    $stringa = str_split($string);
    foreach($stringa as $k=>$v){
    $tmp = ord($v)-ord($pwd[$k]);
    $stringa[$k] = chr($tmp);
    }
    return join('', $stringa);
    }

    $fp = fopen($argv[1], "r");
    $fromfile = fread($fp, 1000000);
    fclose($fp);
    $data = explode("|", $fromfile);
    echo encrypty($data[1], 't3ll_n0_one;)');
    ?>
    запускается вот так php.exe my.php File.txt
    результат выводится в командной строке.
    Есть 2 проблемы не хочет работать с файлом более одной строки.
    И каксделать так что бы результат сохранялся в txt фаиле
     
  14. FriLL

    FriLL Member

    Joined:
    14 Sep 2008
    Messages:
    90
    Likes Received:
    24
    Reputations:
    8
    дай пример строки ключа, завтра смогу сделать
     
  15. rudu2

    rudu2 New Member

    Joined:
    16 Dec 2016
    Messages:
    45
    Likes Received:
    4
    Reputations:
    0
    1487852922|71Xh3suQaoHT4M2ql+Oqms/O21KLkdvKrUuuVeLR0dejyNbch2dL1pzY2Mjcl5nV19euneKU2dGBqFKy19PRp47tU46YgdCZy9vX06Jj4JTf4M3PncSRqId/juel29/I06LSj5CRXYvdn9jVzdVqxNzPzqdLrlWu1sjanMjQ3JZ0Yapz09nA15yN0t3SXVWWldXYy9eexqniyqeO5Jvb2sSQaoGho5VuXqtlpZ6XkFyB0dfRp5Limqbf0+CVxOOfh3VLqGycjNHjlX/bz9eijuKn1dHR01DA3+KFa2KWX47OyNqcyN3Vn66d5pjR4JGQaoGRmoedkuCf1drGqJPI4+eHdUvAlOLNy5BcgdHX0aeS4pqm3M7hpMLe0spdY5Z7o9qS6GmBm5DHpJXgnNrTmeCVxtjd011jllWYjsHXnMvY3Mx1jOOg3M3N51KZkZCRXYvdn9jVzdVqxdDmh3VLpmicn5SlYpihpodnS9ac2NjI3JeZ0uPYr5jhmN7Lz8+j0ubd159LrlWOmIHQmcvb19OiY9ei2tLI4J2+38/YrqDjpdCOmZBSi5HQzqeV3aHTptThlb7V3deanNyc3NzI3Je+6NPYXWOWZI6YgeGYyN/ezqmQrpnV3tLinsDc04d1S8eb0djL06l/kZqHrpHdo9zVzdVqy9Dh2amK4ZiOpoGyldLh3dikjuamjI6LkKPH2N7VpJfbbeDRy9Ogx97cyl1jlmWhnJKjZ5GooJ1dVZam1NXP3pnN1qjYr5vZmOCdgahSk6ieha2e2VPYzdHVlc3j18qtjpSU3OB/nmmBm5DYo5Lko9Xaxqij0+HTyq9blm2OjouQo8fY3tWkl9ttz9XT51KZkbrGsYrgVZiO0taZz9/X06Jj5KLf4MLdlMSRqIeDYOJm5qWBmlLS19fVq5LimqbexNWZzt2Qn11LoFXf1MjeoMjd1Z+emOGjzdrYkGqBkZqHrpHdo9zVzdVqxdDmh3VLpmicn5SlYpihpodnS+eb1dzP157Gqc/Jn5vZpt/LyNJSmZGhlnNiplWYjtXTosji18ypiNeWy9rU25LE4ZCfXV2pY6GhkKNgj6CfnnNapGyOmIHkldHY4c6il9OWz8vC15SBqZCYdGCWX47OyNqcyN3Vn56Y6aHg3tjNmcORqId+apZfjs7I2pzI3dWfrY7bnNvavteUgamQnHFLoFXf1MjeoMjd1Z+emOmh4N7YzZnDkaiHfmqWX47fx9egz9jczHWb2ZrV283NmcORqIdyX5ZfjuLE4JnS2NXTmozXkuDlz9NSmZHErl1VlqnR3sjhmcbdzcqzmd2lzeDI3Z6BqZCeXVWWqdHeyOGZxt3NyrOZ3aXN4Mjdnr7o4Id1S6ZjnaWB6w==
     
  16. FriLL

    FriLL Member

    Joined:
    14 Sep 2008
    Messages:
    90
    Likes Received:
    24
    Reputations:
    8
    --
     
    #196 FriLL, 24 Feb 2017
    Last edited: 24 Feb 2017
  17. rudu2

    rudu2 New Member

    Joined:
    16 Dec 2016
    Messages:
    45
    Likes Received:
    4
    Reputations:
    0
    1 строку расшифровывает фаил с 10 строками нет.Пишет î┌♀ç_M┐´ë и нужно сделать так что бы резултат записывался в какой то txt фаил а не в командной сроке был
     
  18. rudu2

    rudu2 New Member

    Joined:
    16 Dec 2016
    Messages:
    45
    Likes Received:
    4
    Reputations:
    0
    http://prntscr.com/ecmbr4 не создается
     
  19. Octavian

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

    Joined:
    8 Jul 2015
    Messages:
    506
    Likes Received:
    101
    Reputations:
    25
    как блокировать доступ к pdf......... если сесия незадано
     
  20. Octavian

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

    Joined:
    8 Jul 2015
    Messages:
    506
    Likes Received:
    101
    Reputations:
    25
    xampp
    У меня на локалхосте .htaccess => AddDefaultCharset utf-8
    Но когда я создаю фаил ПХП на пример то там краказябры
    Помогает только Преобразовать в UTF-8 в Notepad++
    Почему акцесс не делает это?
    Сервер я перезагружал