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

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

Thread Status:
Not open for further replies.
  1. dk-ne

    dk-ne Elder - Старейшина

    Joined:
    21 Jan 2007
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    Переведите, пожалуйста: "скажите сразу днс сервера вашего хостера, что бы мы сразу их прописали"
     
  2. lsass.exe

    lsass.exe Elder - Старейшина

    Joined:
    5 Aug 2007
    Messages:
    156
    Likes Received:
    161
    Reputations:
    24
    прописывание днс серверов нужно что закрепить домен за каким-то хостом, стандартный вид
    ns1.site.ru
    ns2.site.ru
     
  3. nc.STRIEM

    nc.STRIEM Members of Antichat

    Joined:
    5 Apr 2006
    Messages:
    1,036
    Likes Received:
    347
    Reputations:
    292
    всмысле адрес днс сервера на котором прописан твой хост.
    что ту переводить. есле всеравно не понятно, читай как работает интеренет)
     
  4. spamoney

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

    Joined:
    26 Dec 2006
    Messages:
    120
    Likes Received:
    7
    Reputations:
    1
    Всем привет! В общем у меня такая проблема, имеется скрипт для вывода случайной картинки:

    PHP:
    global $array;
    global 
    $array2;
    $dir="../Pictures/Pict";
    function 
    cd_dir($dir){ 
    global 
    $array;
    global 
    $array2;
      
    $r=opendir($dir); 
      while (
    false !==  ($k readdir($r))){ 
        if(
    is_dir("$dir/$k") && $k!="." && $k!=".."
          
    cd_dir("$dir/$k"); 
    elseif (
    $m=substr($k,-4) and  $m=='.jpg' or $m=='.png' or $m=='.gif')

    $array[]=$dir."/".$k;
    $array2[]=$k;
    }
      } 

    cd_dir($dir); 
    $number=rand(0,count($array)-1);
    $resiz 1#если Вы будете выводить картинки 1:1, например используете блок для показа картинок для мобильных, то присвойте $resiz = 0
    $etalon 120#максимальный размер картинки.
    if ($resiz == 1) {
        
    $size_img getimagesize ("$array[$number]");
        if (
    $size_img[0]>$etalon or $size_img[1]>$etalon) { 
            if (
    $size_img[0]>$size_img[1]) {
                    
    $koeff $size_img[0]/$etalon
            } else {
                
    $koeff $size_img[1]/$etalon
            }
            
    $w_new $size_img[0]/$koeff
            
    $h_new $size_img[1]/$koeff;
        } else {
            
    $w_new $size_img[0]; 
            
    $h_new $size_img[1];
        }
        
    $new_s "height=\"$h_new\" width=\"$w_new\"";
    }
    echo 
    "<center><img $new_s src='$array[$number]' alt='Случайная картинка'>
    </center><br>"
    ;
    $size1=filesize("$array[$number]");
    $size2=$size1/1024;
    $sizeround($size2);
    echo 
    "Файл:
    <a href = '
    $array[$number]' title = 'Скачать картинку'>$array2[$number]</a><BR>";///Вывод названия
    echo "Размер: $size Кб.<BR>";///Вывод Размера

    Как сделать так что бы он выводил картинки определенного размера, допустим картинки не более 10 кб т.е если картинка более 10 кб то он её не выводит а проверяет на размер следующую, если и след. более 10 кб то проверяет следующую и т.д пока не найдёт ту которая меньше 10кб, вот её он должен вывести для просмотра....
     
  5. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    PHP:
    <?php

    define
    ("MAX_IMAGE_SIZE_KB"10);

    global 
    $array
    global 
    $array2
    $dir="pict"
    function 
    cd_dir($dir){  
    global 
    $array
    global 
    $array2
      
    $r=opendir($dir);  
      while (
    false !==  ($k readdir($r))){  
        if(
    is_dir("$dir/$k") && $k!="." && $k!="..")  
          
    cd_dir("$dir/$k");  
    elseif (
    $m=substr($k,-4) and  $m=='.jpg' or $m=='.png' or $m=='.gif'
    {  
    $array[]=$dir."/".$k
    $array2[]=$k

      }  
    }  
    cd_dir($dir);  
    do {
    $number=rand(0,count($array)-1); 
    $resiz 1#если Вы будете выводить картинки 1:1, например используете блок для показа картинок для мобильных, то присвойте $resiz = 0 
    $etalon 120#максимальный размер картинки. 
    if ($resiz == 1) { 
        
    $size_img getimagesize ("$array[$number]"); 
        if (
    $size_img[0]>$etalon or $size_img[1]>$etalon) {  
            if (
    $size_img[0]>$size_img[1]) { 
                    
    $koeff $size_img[0]/$etalon;  
            } else { 
                
    $koeff $size_img[1]/$etalon;  
            } 
            
    $w_new $size_img[0]/$koeff;  
            
    $h_new $size_img[1]/$koeff
        } else { 
            
    $w_new $size_img[0];  
            
    $h_new $size_img[1]; 
        } 
        
    $new_s "height=\"$h_new\" width=\"$w_new\""
    }
    $size1=filesize("$array[$number]");
    } while ((
    $size1/1024) > MAX_IMAGE_SIZE_KB);
    echo 
    "<center><img $new_s src='$array[$number]' alt='Случайная картинка'> 
    </center><br>"

    $size2=$size1/1024
    $sizeround($size2); 
    echo 
    "Файл: 
    <a href = '
    $array[$number]' title = 'Скачать картинку'>$array2[$number]</a><BR>";///Вывод названия 
    echo "Размер: $size Кб.<BR>";///Вывод Размера 

    ?>
     
    1 person likes this.
  6. spamoney

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

    Joined:
    26 Dec 2006
    Messages:
    120
    Likes Received:
    7
    Reputations:
    1
    Спасибо! Всё работает!
     
  7. Макс 8===3

    Макс 8===3 New Member

    Joined:
    3 Nov 2006
    Messages:
    24
    Likes Received:
    4
    Reputations:
    0
    Люди подскажите плиз что означает эта строчка?

    <meta name="revisit" content="100 days">
     
  8. phol1eadeux

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

    Joined:
    7 Aug 2007
    Messages:
    108
    Likes Received:
    48
    Reputations:
    -1
    Вроде поисковым системам для перепосещения сайта через определенный срок
    Почитай здесь:
    http://www.webotdel.ru/notes/metatags/
     
  9. TTyck

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

    Joined:
    12 Nov 2005
    Messages:
    91
    Likes Received:
    41
    Reputations:
    11
    <meta name="revisit" content="7 days">

    <meta name="revisit-after" content="7 days">
    Эти теги, исходя из их описания, должны давать команду поисковой системе посещать данную страницу сайта так часто, как это прописано (в данном случае каждые 7 дней). На деле — каждый поисковый робот заходит на сайт с частотой которую сам посчитает нужной и возможной. Эта частота зависит от показателя цитируемости документа, чем этот показатель выше — тем чаще будет приходить поисковый робот. Например, главную страницу нашего сайта Googlebot (поисковый робот Google) посещает несколько раз в день.
     
  10. Scipio

    Scipio Well-Known Member

    Joined:
    2 Nov 2006
    Messages:
    733
    Likes Received:
    544
    Reputations:
    190
    ну по твоей аналогии так:
    PHP:
    $i 0;
    while (
    $i <= 3)
    {
            
    $result sql('SELECT * FROM news ORDER by id DESC LIMIT '.$i.',1');
        
    $row mysql_fetch_array($resultMYSQL_ASSOC);
        
    $id $row['id'];
        echo 
    $id;
        
    $i++;
    };
    обрати внимание, лимит должен с нуля начинаться

    и если у тебя функция sql - неопределена, то вместо нее пользуй mysql_query()
     
    #850 Scipio, 10 Nov 2007
    Last edited: 10 Nov 2007
    1 person likes this.
  11. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Меняешь константу RECORS_TO_SELECT на нужное тебе число, и именно столько записей будет выгребаться с конца.

    PHP:
    <?php

    define
    ("DB_USER",        "test");
    define("DB_PASSWD",      "test");
    define("DB_HOST",   "localhost");
    define("DB_BASE",        "test");

    define("RECORS_TO_SELECT",    4);

    $db_id mysql_connect(DB_HOSTDB_USERDB_PASSWD) or die('Could not connect database!');

    mysql_selectdb(DB_BASE) or die('Could not select database!');

    $sql "SELECT count(*) NUM FROM lala";

    $result mysql_query($sql) or die("Query error: " mysql_error());

    $row mysql_fetch_array($resultMYSQL_ASSOC);

    $num intval($row["NUM"]) - RECORS_TO_SELECT;

    $sql sprintf("SELECT * FROM lala ORDER BY id LIMIT %d, %d"$numRECORS_TO_SELECT);

    $result mysql_query($sql) or die("Query error: " mysql_error());

    $result_arr = array();
    while (
    $row mysql_fetch_array($resultMYSQL_ASSOC)) $result_arr[] = $row;

    $result_arr array_reverse($result_arr);

    print(
    "<pre>");
    var_dump($result_arr);
    print(
    "</pre>");

    mysql_free_result($result);

    mysql_close($db_id);

    ?>
     
    #851 groundhog, 10 Nov 2007
    Last edited: 10 Nov 2007
  12. nc.STRIEM

    nc.STRIEM Members of Antichat

    Joined:
    5 Apr 2006
    Messages:
    1,036
    Likes Received:
    347
    Reputations:
    292
    >>>Нужно вывести 4 последних в обратном порядке
    Code:
    SELECT * FROM news ORDER by -id  LIMIT 0,4
    
     
    1 person likes this.
  13. Demetra

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

    Joined:
    27 Aug 2007
    Messages:
    48
    Likes Received:
    8
    Reputations:
    0
    а у меня вопрос,если я не использую include() а прикрипляю как include"путь к файлу" это тоже уязвимость?
     
  14. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Я не понял смысла вопроса... Особенно термин "прикрепляю"... Просто оцени как у тебя формируется путь к инклудному файлу. Если в нём присутствуют переменные - оцени риск их перезаписи... Обычно проблемы с инклудами возникают при register_globals=on и изрядно кривом коде.
     
  15. Demetra

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

    Joined:
    27 Aug 2007
    Messages:
    48
    Likes Received:
    8
    Reputations:
    0
    ну допустим я на главную вывожу дату с файла date.php, вот код на главной <?
    include "date.php";
    ?>
     
  16. Demetra

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

    Joined:
    27 Aug 2007
    Messages:
    48
    Likes Received:
    8
    Reputations:
    0
    ну допустим я на главную вывожу дату с файла date.php, вот код на главной <?
    include "date.php";
    ?> это уязвимость?
     
  17. MegaDeth

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

    Joined:
    8 Nov 2006
    Messages:
    192
    Likes Received:
    72
    Reputations:
    13
    Demetra, нет. тебе же сказали, если фигурируют переменные.
     
  18. Demetra

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

    Joined:
    27 Aug 2007
    Messages:
    48
    Likes Received:
    8
    Reputations:
    0
    это как?
     
  19. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Например вот так:

    Или что хуже:

     
  20. [Raz0r]

    [Raz0r] Elder - Старейшина

    Joined:
    25 Feb 2007
    Messages:
    425
    Likes Received:
    484
    Reputations:
    295
    например так:
    include $_GET[path]."date.php";
     
Thread Status:
Not open for further replies.