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

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

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

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    2 FireFenix:

    А если мне надо будет удалить все .html или .php3 или .pl файлы - переписывать функцию?:)

    PHP:
    <?php
    @set_time_limit(0);  
    @
    ini_set("display_errors","1"); 

    $path '/home/http/MP3'// Абсолютный путь к папке для удаления, без слеша в конце
    $ext 'php'// Файлы, которые надо удалить, без точки

    fold ($path,$ext);
    echo 
    "done";

    function 
    fold($rootDir,$ext2) {
        
    $invisibleFileNames = array(".""..");
        
    $dirContent scandir($rootDir);
        foreach(
    $dirContent as $key => $content) {
            
    $path $rootDir.'/'.$content;
            if(!
    in_array($content$invisibleFileNames)) {
                if(
    is_file($path) && is_readable($path)) {
                    
    $allData $path;
                    
    $ext1 pathinfo($allDataPATHINFO_EXTENSION);
                    if (
    $ext2==$ext1unlink($allData);
                }elseif(
    is_dir($path) && is_readable($path)) {
                    
    $allData fold($path$ext2);
                }
            }
        }
        
    }
    ?> 
    + ссылка к размышлению:

    http://habrahabr.ru/blogs/php/37753/
     
    #10541 Pashkela, 19 Jun 2009
    Last edited: 19 Jun 2009
  2. Dj-Matrix

    Dj-Matrix New Member

    Joined:
    7 Nov 2008
    Messages:
    0
    Likes Received:
    2
    Reputations:
    0
    Если я правильно понял, то это должно работать.
    PHP:
    <script language="JavaScript">
    var 
    src 'image.gif'//Путь к картинке
    document.write('<img src="'+src+'?'+Math.random()+'">');
    </script>
     
  3. Player#1

    Player#1 Member

    Joined:
    11 Nov 2008
    Messages:
    95
    Likes Received:
    35
    Reputations:
    10
    почему бы не написать тоже самое на php. тема то [рhр] называется..

    а вообще идея, как мне кажется правильная: рандомные значения после ?

    PHP:
    <?php
    echo "<img src='img.jpg?".time()."'>";
    ?>
     
    #10543 Player#1, 19 Jun 2009
    Last edited: 19 Jun 2009
  4. KaZ@NoVa

    KaZ@NoVa Elder - Старейшина

    Joined:
    5 Jul 2008
    Messages:
    368
    Likes Received:
    438
    Reputations:
    -16
    Ctrl+F5
     
  5. KaZ@NoVa

    KaZ@NoVa Elder - Старейшина

    Joined:
    5 Jul 2008
    Messages:
    368
    Likes Received:
    438
    Reputations:
    -16
    Тоже вариант, но лучше просто ?{$rand} - смотри, как vkontakte сделан..
     
  6. geforse

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

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Всё уже сделал давно) спасибо :)

    [ После обращения к скрипту имя картинки постоянно меняется) ]
     
  7. geforse

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

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Есть ли готовые решения индикатора загрузки страниц ?
    в гугле только индикатор загрузки файлов на сервер нашёл, можно конечно попробовать его переписать) но может велосипед до меня изобрели ?)
     
  8. Dimi4

    Dimi4 Чайный пакетик

    Joined:
    19 Mar 2007
    Messages:
    750
    Likes Received:
    1,046
    Reputations:
    291
    http://svyt.net/wdsect-45.html ?

    + http://danneo.com/forum/showthread.php?t=3384
     
    1 person likes this.
  9. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    PHP:
    foreach (glob("*.test") as $filename) {
        
    unlink($filename);
    }
     
  10. KrafT

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

    Joined:
    29 Nov 2004
    Messages:
    62
    Likes Received:
    2
    Reputations:
    0
    Есть ответ от сервера
    Code:
    The URL has moved <a href="http://сайт.ру/welcome">here</a>
    как зделать чтоб скрипт копиравал сайт.ру в файл?
     
  11. Stoonn

    Stoonn New Member

    Joined:
    13 Jun 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Как с помощью PHP определить ип сайта по его названию.Желательно без system() и т д
     
  12. geforse

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

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    PHP:
    <?php   
    $url 
    '<a href="http://сайт.ру/welcome">here</a>'// URL
    $file 'sites.txt';                               // Куда записывать

    preg_match('#<a href="http://(.*?)/welcome">here</a>#i'$url$match_out);
    $fh fopen($file"a+");
    $success fwrite($fh$match_out[1]."\n");
    fclose($fh);
    ?> 
     
  13. jecka3000

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

    Joined:
    15 Mar 2008
    Messages:
    360
    Likes Received:
    54
    Reputations:
    4
    где тут может быть ошибка?

    function ListGoods(){
    GLOBAL $id_group, $rows, $goods_info, $main_page;

    # если передано ID группы товаров, то присваиваем его переменной
    # если - нет, тогда будет выводится группа указанная по умолчанию в конфигурации
    после нее есть кусочек
    if ( !empty($_GET['idn']) && is_numeric($_GET['idn']) ) {
    $idn = (int) trim($_GET['idn']);
    } else {
    $idn = $id_group;
    }
     
  14. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    echo gethostbyname ('antichat.ru');
     
  15. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,177
    Likes Received:
    1,156
    Reputations:
    202
    В чем ошибка? Пересидел чтоли, немогу расчехлится. Регулярки пропускают лшюбые значения если вначале вводить двойные ковычки
    PHP:
    <?php
    $sysmessage 
    '';
    function 
    Form()
    {
        global 
    $sysmessage;
        echo 
    '
    <table border="1" align="center">
    <form method="post" enctype="application/x-www-form-urlencoded">
    <tr>
        <td colspan="2" align="center">'
    .$sysmessage.'Регистрация</td>
        
    </tr>
    <tr>
        <td>Логин</td>
        <td><input type="text" align="CENTER" size="30" maxlength="30" name="login" /></td>
    </tr>
    <tr>
        <td>Пароль</td>
        <td><input type="password" align="CENTER" size="30" maxlength="30" name="password" /></td>
    </tr>
    <tr>
        <td>Повтор пароля</td>
        <td><input type="password" align="CENTER" size="30" maxlength="30" name="password2" /></td>
    </tr>
    <tr>
        <td>Имейл</td>
        <td><input type="text" align="CENTER" size="30" maxlength="30" name="email" /></td>
    </tr>
    <tr>
        <td colspan="2" align="center"><input type="submit" value="register" /></td>
        
    </tr>
    </form>
    </table>
    '
    ;
    }
    if(empty(
    $_POST['login']) || empty($_POST['password']) || empty($_POST['password2']) || empty($_POST['email']))
    {
    Form();
    exit;    
    }
    if(
    $_POST['password'] != $_POST['password2'])
    {
    $sysmessage =  '<font color="red"><b>Пароли не совпадают</b></font><br>';
    Form();
    exit;    
    }
    $login htmlspecialchars($_POST['login']);
    $password htmlspecialchars($_POST['password']);
    $password2 htmlspecialchars($_POST['password2']);
    $email htmlspecialchars($_POST['email']);
    ##
    if(!preg_match('#[a-z0-9]{3,20}#i'$login))
    {
        
    $sysmessage '<font color="red"><b>Неправильный формат Логина</b></font><br>';
        
    Form();
        exit;
    }
    ##
    if(!preg_match('#[a-z0-9_]{6,20}#i'$password))
    {
        
    $sysmessage '<font color="red"><b>Неправильный формат Пароля</b></font><br>';
        
    Form();
        exit;
    }
    ##
    if(!preg_match('#[\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,}#'$email))
    {
        
    $sysmessage '<font color="red"><b>Неправильный формат Имейла</b></font><br>';
        
    Form();
        exit;
    }

    echo 
    "login: $login<br>password: $password<br>email: $email";

    ?>



     
    #10555 b3, 20 Jun 2009
    Last edited: 20 Jun 2009
  16. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    b3 htmlspecialchars(htmlentities( - убрать

    В начало регулярок добавить ^ в конец $. Например !preg_match('#^[a-z0-9_]{6,20}$#i'

    И только в самом конце при выводе логина добавить htmlspecialchars
     
    _________________________
    3 people like this.
  17. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    у паролей не бывает неправильных форматов
     
    1 person likes this.
  18. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Почему, бывает, при регистрации, не меньше 6 символов, например, или есть запрещенные символы
     
    1 person likes this.
  19. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Да, ограничение минимальной длины имеет смысл, но запрещенные символы? Всё равно же будет хеш.
     
  20. Gin

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

    Joined:
    11 Sep 2008
    Messages:
    133
    Likes Received:
    7
    Reputations:
    4
    написал скрипт суть кторого: берет из файла url'ы поочередно к ним подключается, если на ресурсе присутсвтует искомое слово записывает адрес ресурса в файл.

    Проблема в том что, если прописывать в ручную куда подключится, то все нормально, а стоит подставить туда переменную пишет Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: No such host is known.

    Вот код:
    Code:
    <?php
    
    $file=file("url.txt");
    foreach($file as $val=>$key){
    trim($key);	
    $str='';
    echo $key;
    $fp = fsockopen ($key,80, $errno,$errstr);
    if (!$fp) {
        echo "$errstr ($errno)<br>\n";
    } else {
    	
    $out = "GET / HTTP/1.1\r\n";
    $out .= "Cookie: PREF=ID=c34a97b63a61567a:LD=en:CR=2:TM=1127409984:LM=1127409984:S=XLS1Gm0Z48j3QNZo;\r\n"; 
    $out .= "Host: ".$key."\r\n";
    $out .= "Connection: Close\r\n\r\n";
        fputs ($fp, $out);
        while (!feof($fp)) {
            $str.= fgets ($fp,128);
        }
    	if(strpos($str,"String")){
    		$f=fopen("out.txt","a+");
    		fputs($f,$key."\r\n");
    	}
        fclose ($fp);
    }
    
    }
    ?>
    
    
    
     
Thread Status:
Not open for further replies.