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

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

Thread Status:
Not open for further replies.
  1. J.U.M.P

    J.U.M.P Member

    Joined:
    8 Sep 2009
    Messages:
    15
    Likes Received:
    9
    Reputations:
    4
    M1ks, код index-ного файла, в нем будет происходить проверка кукис, если кукис не нашлась, то предлагаем проголосовать, иначе выводим результат голосования:
    PHP:
    <?php
    $result 
    file("vote.txt");
    if (!isset(
    $_COOKIE['vote'])) 
    {
    echo(
    '<form method="POST" action="action.php">
    <input name="g1" type="checkbox" value="1">Вариант 1<br>
    <input name="g2" type="checkbox" value="2">Вариант 2<br>
    <input name="g3" type="checkbox" value="3">Вариант 3<br>
    <input name="g4" type="checkbox" value="4">Вариант 4<br>
    <input name="ok" type="submit"><br>
    </form>'
    );
    } else {
    printf("
    <table border=0>
    <tr><td align='left'>Вариант 1 </td><td><small>%s</small></td><td> <hr size='10' align='left' width='%s' color='green' > </td></tr>
    <tr><td align='left'>Вариант 2 </td><td><small>%s</small></td><td> <hr size='10' align='left' width='%s' color='yellow' > </td></tr>
    <tr><td align='left'>Вариант 3 </td><td><small>%s</small></td><td> <hr size='10' align='left' width='%s' color='red' > </td></tr>
    <tr><td align='left'>Вариант 3 </td><td><small>%s</small></td><td> <hr size='10' align='left' width='%s' color='blue'> </td></tr>
    </table>"
    ,$result[0]/10,$result[0],$result[1]/10,$result[1],$result[2]/10,$result[2],$result[3]/10,$result[3]);
    }
    ?>
    Код обработчика, в нем будет происходить установка куки и запись результата в файл. Ну и для красоты сделал редирект обратно.
    PHP:
    <?php

    SetCookie
    ("vote","Бла бла бла"time() + 3000000); // устанавливаем кукис, чтобы в следующий раз знать что мы проголосовали
    $file file("vote.txt"); // заносим содержимое файла vote.txt в массив (В этом фале хранятся результаты голосования)

    # увеличиваем переменную на 10
    if ($_POST['g1']=='1')
    $file[0] = $file[0] + 10 "\n";
    if (
    $_POST['g2']=='2')
    $file[1] = $file[1] + 10 "\n";
    if (
    $_POST['g3']=='3')
    $file[2] = $file[2] + 10 "\n";
    if (
    $_POST['g4']=='4')
    $file[3] = $file[3] + 10 "\n";

    # записываем в файл 
    $write $file[0] . $file[1] . $file[2] . $file[3] . $file[4];
    $fp fopen("vote.txt","w+");
    fwrite($fp$write);
    fclose($fp);
    $refresh '<META HTTP-EQUIV="Refresh" CONTENT="1; URL=index.php">';
    echo 
    "Спасибо, ваш голос учтен. $refresh"
    ?>
    Да и кстати, нужно создать файл vote.txt, в который поместить вертикально четыре нолика:
    0
    0
    0
    0
     
    1 person likes this.
  2. M1ks

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

    Joined:
    23 Aug 2007
    Messages:
    149
    Likes Received:
    9
    Reputations:
    0
    Спасибо, все теперь нормально.
     
  3. CheatXX

    CheatXX New Member

    Joined:
    8 Jun 2009
    Messages:
    154
    Likes Received:
    2
    Reputations:
    0
    как в личном кабинете запоминать пользователя? т.е что бы после перехода в другой раздел заново авторизоваться не пришлось?
    как это через сессии сделать?
     
  4. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,325
    Likes Received:
    1,199
    Reputations:
    252
    PHP:
    if (post())
    {
        
    setcookie('name'$nametime() + 77777);// http://php.net/setcookie
        
    setcookie('pass'md5($pass), time() + 77777);
    }

    #Ну и проверяем
    if (isset($_COOKIE['name'], $_COOKIE['pass']))
    {
        
    mysql_query("SELECT `name`, `pass` WHERE `name` = '" mysql_real_escape_string($_COOKIE['name']. "' AND `pass` = '" mysql-real_escape_string($_COOKIE['pass'])'");
    }
     
  5. spamoney

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

    Joined:
    26 Dec 2006
    Messages:
    120
    Likes Received:
    7
    Reputations:
    1
    Здравствуйте, такой вопрос:
    Предположим есть функция:

    Code:
    function test() {
    echo 'text';
    }
    К этой функции у меня доступа нет, т.е вносить в неё изменения/редактировать её (заменить echo на return) я не могу, как я могу записать результат выполнения данной функции в переменную? Т.е если бы она отдавала текст через return я бы написал так:

    Code:
    function test2 () {
    $out = 'bla-bla';
    $out .= test();
    return $out;
    }
    но она выводит результат сразу через echo...
    Как быть?
     
  6. Strilo4ka

    Strilo4ka

    Joined:
    5 Apr 2009
    Messages:
    709
    Likes Received:
    728
    Reputations:
    948
    PHP:
    <?
    function 
    test() {
    echo 
    'text';
    }

    ob_start();
    test();
    $str=ob_get_contents();
    ob_end_clean();

    ?>
     
    1 person likes this.
  7. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    396
    Likes Received:
    79
    Reputations:
    16
    Нужен пример работы с протоколом smtp (любой, желательно с комментариями).
     
  8. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,325
    Likes Received:
    1,199
    Reputations:
    252
    http://www.rucable.net/We-send-mail-with-smtp-auth.html
     
  9. Donet

    Donet New Member

    Joined:
    11 Apr 2011
    Messages:
    22
    Likes Received:
    0
    Reputations:
    0
    Вот PHP код которий я написал.
    PHP:
    <?PHP
        $file 
    'Сылка на фото';
        
    $bon1 '.';
        
    $foto strrchr($file$bon1);
        
    $jpg '.jpg';
        
    $gif '.gif';
        
    $png '.png';
        
    $bmp '.bmp';
        
    $jpeg '.jpeg';
        
    $bon '/';
        
    $neme strrchr($file$bon);
        
    $dir dirname('/12/foto/1');
        echo 
    iconv ('utf-8','866',"Завантажування фото ---- $neme \n");
     if (
    $foto == $jpg) { 
    $img imagecreatefromjpeg($file);
    imagejpeg($img,$dir.$neme,100);
    } else { 
            if (
    $foto == $gif) { 
                
    $img imagecreatefromgif($file);
                
    imagegif($img,$dir.$neme,100);
            } else { 
                    if (
    $foto == $png) { 
                    
    $img imagecreatefrompng($file);
                    
    imagepng($img,$dir.$neme);
                    } else { 
                             if (
    $foto == $jpeg) { 
                            
    $img imagecreatefromjpeg($file);
                            
    imagejpeg($img,$dir.$neme,100);
                            } else { 
                            echo 
    iconv ('utf-8','866',"Формат $foto невідомий...\n");
                            }
                    }
            }
    }
    echo 
    iconv ('utf-8','866',"Завнтажено фото ---- $neme \n");
    ?>
    Мне нужно зделать так что б не вказывать силку на картинку а вказать силку на папку с фото на сервере и слить оттуда все фото.
    Примичание: PhP очень прлохо знаю.
    Помогите если нетрудно.
     
  10. Radish

    Radish New Member

    Joined:
    9 Jan 2011
    Messages:
    20
    Likes Received:
    2
    Reputations:
    2
    PHP:
    function getDirectoryList ($directory
      {

        
    // create an array to hold directory list
        
    $results = array();
        
    $results2 = array();
        
    // create a handler for the directory
        
    $handler opendir($directory);

        
    // open directory and walk through the filenames
        
    while ($file readdir($handler)) {

          
    // if file isn't this directory or its parent, add it to the results
          
    if ($file != "." && $file != "..") {
            
    $results[] = $file;
          }

        }

        
    // tidy up: close the handler
        
    closedir($handler);

        
    // done!
        
    return $results;

      }
    Функция получает имя каталога и возвращает массив имен всех файлов и вложеных каталогов указаного каталога.

    PHP:
    $list getDirectoryList('/www');

    for(
    $i=0;$i<count($list);$i++){
        echo 
    $list[$i] . '<br>';
    };
    ЗЫ может лучше использовать "elseif" вместо вложеных новых if?
     
    #18230 Radish, 15 Apr 2011
    Last edited: 15 Apr 2011
  11. Donet

    Donet New Member

    Joined:
    11 Apr 2011
    Messages:
    22
    Likes Received:
    0
    Reputations:
    0
    Спасиба буду юзать ету функцю
     
  12. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,037
    Likes Received:
    531
    Reputations:
    935
    PHP:
    <?php
    $result 
    scandir('/www/');
    var_dump($result);
    ?>
     
    _________________________
  13. Adio

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

    Joined:
    23 May 2005
    Messages:
    1,676
    Likes Received:
    147
    Reputations:
    18
    Привет.
    Помогите как обрезать емайлы ?
    name@domain.com
    Мне неужно что бы оставалось только domain.com
    Прошу кому не сложно.
     
  14. Nelz.

    Nelz. Member

    Joined:
    2 Aug 2010
    Messages:
    151
    Likes Received:
    7
    Reputations:
    0
    _php.su/functions/?strstr там прямо в примере показана)
     
    1 person likes this.
  15. Skofield

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

    Joined:
    27 Aug 2008
    Messages:
    952
    Likes Received:
    318
    Reputations:
    52
    PHP:
    <?php 
    $email 
    "name@domain.com";
    $restOfStr trim(strrchr($email"@"), "@");
    echo 
    $restOfStr;
    ?>
    PHP:
    <?php
    $file 
    "FileWithEmails.txt";
    $emails file($file);
    foreach (
    $emails as $domain)
    {
        
    $restOfStr trim(substr(strrchr($domain"@"), 1));    
        
    $array[] = $restOfStr;
        echo 
    "$restOfStr<br>\n";
    }
    $domains implode("\n"$array);
    $fp fopen("domains.txt""w");
    fwrite($fp$domains);
    fclose($fp);
    ?>
    http://forum.antichat.ru/thread8721.html
     
    #18235 Skofield, 15 Apr 2011
    Last edited: 16 Apr 2011
    1 person likes this.
  16. Adio

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

    Joined:
    23 May 2005
    Messages:
    1,676
    Likes Received:
    147
    Reputations:
    18
    Извените, забыл сказать что это в файле.
    Т.е все емайлы в файле находяться.
    Нужно как то подключить файл .
     
  17. Donet

    Donet New Member

    Joined:
    11 Apr 2011
    Messages:
    22
    Likes Received:
    0
    Reputations:
    0
    Как просмотреть какие файли записани в папку на сервере.
    Использовал для просмотра директории папок на компе етот тег.
    PHP:
    <?php 
    $result 
    scandir('http://www.localhost/'); 
    print_r($result); 
    ?>
    но для просмотра деректории на папок на сервеое виводит
     
  18. Skofield

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

    Joined:
    27 Aug 2008
    Messages:
    952
    Likes Received:
    318
    Reputations:
    52
    PHP:
    <?php  
    $result 
    scandir('C:\папка\папка\папка');  
    print_r($result);  
    ?>
    http://www.php.su/functions/?scandir
     
    #18238 Skofield, 16 Apr 2011
    Last edited: 16 Apr 2011
  19. Donet

    Donet New Member

    Joined:
    11 Apr 2011
    Messages:
    22
    Likes Received:
    0
    Reputations:
    0
    Спасиба за ответ но мене ненужна ета функця на вивод деректории папок ... Мне нада тег-фунця-скрипт чтоб можно било ввести силку на САЙТ кпримеру (www.lokal.net) и оно мене вивелоб все папки и каталоги с файлами етого сайта
    КПРИМЕРУ
     
    #18239 Donet, 16 Apr 2011
    Last edited: 16 Apr 2011
  20. FewG

    FewG Member

    Joined:
    25 Dec 2009
    Messages:
    136
    Likes Received:
    12
    Reputations:
    0
    Такого "тег-фунця-скрипта" нет. Можно написать скрипт, который проверяет на наличие файлов/папок, но это не даст нужного эффекта.
     
Loading...
Thread Status:
Not open for further replies.