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

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

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

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

    Joined:
    6 Feb 2010
    Messages:
    189
    Likes Received:
    42
    Reputations:
    19
    Apache однозначно. А если у тебя Win XP, то в IIS будет ограничение на 10 потоков (среднетяжёлая страница будет в дырах, а о пяти юзерах онлайн будешь просто мечтать)
     
  2. phpdreamer

    phpdreamer Member

    Joined:
    26 Jul 2009
    Messages:
    522
    Likes Received:
    86
    Reputations:
    19
    DrakonHaSh,
    Как я вижу решение на AJAX:
    создать нормальную хтмл страницу, со стилями и в конкретный div динамически подгружать данные через AJAX используя JSON. С определенным интервалом чистить innerHTML главного div'a
    или удалять выборочно по div'aм внутри если у тебя там есть "мусор" и "не мусор"
     
  3. ZERO-Y

    ZERO-Y Elder - Старейшина

    Joined:
    28 Mar 2006
    Messages:
    85
    Likes Received:
    16
    Reputations:
    3
    Доброго времени суток, у меня вопрос.
    Как сохранить php скрипт не выполняя его ?

    То есть, есть скрипт site.ru/1.php, при его открытии он выдает значение "1", если клацнуть по линку с site.ru/index.php то он выдает значение "2". Так вот мне нужно скопировать (передрать) его без значений, то есть он мне нужен в таком виде в котором он лежит на хосте. права на нем или 644 или 777.

    Спасибо!
     
  4. Failure

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

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    если правильно понял бред описанный постом выше, ты хочешь сорцы удаленного пхп-скрипта.
    Штатными средствами это анриал, т.к. исполняется пхп-скрипт на сервере, и ничего ты кроме конечного результата (вывода) ты не увидишь.
     
  5. ZERO-Y

    ZERO-Y Elder - Старейшина

    Joined:
    28 Mar 2006
    Messages:
    85
    Likes Received:
    16
    Reputations:
    3
    Да, ты правильно понял :)
    Скрипт не как не зашифрован. Просто залит на фтп с правами 644.

    То есть можно забить ? или всетаки есть какой-то способ ?
     
  6. roxblnfk

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

    Joined:
    6 Feb 2010
    Messages:
    189
    Likes Received:
    42
    Reputations:
    19
    зайти на фтп и слить оттуда :) (имея соответствующие права..), либо залить туда же (на фтп) другой скрипт, который при обращении через site.ru/script.php будет выводить содержимое 1.php и index.php ...
     
  7. Axel G

    Axel G New Member

    Joined:
    28 Jan 2009
    Messages:
    86
    Likes Received:
    3
    Reputations:
    3
    Ребят, гляньте function createThumb

    Чет она нифига не правильно работает, гружу прозрачный пнг, скрипт его черным фоном возвращает, хотя не должон вообще с ним что-либо делать кроме пропорционального ресайза, никаких превращений. Никак не пойму что за это отвечает??
     
  8. ZERO-Y

    ZERO-Y Elder - Старейшина

    Joined:
    28 Mar 2006
    Messages:
    85
    Likes Received:
    16
    Reputations:
    3
    В том то и трабла что доступа к фтп нету :)
    В общем бесполезно пытаться что-то придумать ? как-то вытащить исходник скрипта
     
  9. Failure

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

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    первое что пришло в голову
    http://www.securityfocus.com/bid/40760/exploit
    ессесно только если nginx
     
    1 person likes this.
  10. roxblnfk

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

    Joined:
    6 Feb 2010
    Messages:
    189
    Likes Received:
    42
    Reputations:
    19
    Alex G, а разве imagecopyresampled() должна учитывать прозрачность?
    (можно попробовать imagealphablending(), но не уверен что на copy подействует)
     
    #15510 roxblnfk, 16 Jun 2010
    Last edited: 16 Jun 2010
  11. Axel G

    Axel G New Member

    Joined:
    28 Jan 2009
    Messages:
    86
    Likes Received:
    3
    Reputations:
    3
    roxblnfk, вы правы не подействовало, тогда как это можно реализовать?? А кстати сама функция правильно написана?? Или же, как выразились выше, говнокод??
     
  12. roxblnfk

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

    Joined:
    6 Feb 2010
    Messages:
    189
    Likes Received:
    42
    Reputations:
    19
    Axel G, в плане читабельности кода - по мне нормально.
    Если нет стандартных функций для переноса картинки на картинку с учётом альфа-потока, то при необходимоси можно написать такую функцию вручную (работать, правда, будет медленно)
    Для начала надо определиться, накладываемая кортинка будет SOLID или ALPHA (как GIF или PNG, проще говоря [у GIF нету полупрозрачных пикселей]).
    Наложение SOLID картинки проще реализовать и работает быстрее (накладывать, используя маску).

    принцип: разбить накладываемую картинку на массив (она не должна быть большой), дальше перебором массива наложить пиксели на большое изображение с учётом прозрачности, например по функции:
    ($C1+($C2-$C1)*$A)
    $C1, $C2 - соответствующие цветовые потоки (r,g,b) картинок
    $A- прозрачность пикселя первой картинки
    Для реализации особых познаний не потребуется, имхо.
     
  13. Axel G

    Axel G New Member

    Joined:
    28 Jan 2009
    Messages:
    86
    Likes Received:
    3
    Reputations:
    3
    хмм, на производительности играть я не могу, нужен быстродействующий скрипт. А еще можете подсказать, как наложение лупы реализовать, меня imagedestroy($dst_img); особо беспокоит, это получается надо условия ставить в function createThumb иначе память будет освобождена, второй день уже мыкаюсь, а все безрезультатно.
    PHP:
    if ($_POST['watermark_thumb'] == "2") { // лупа

        
    }
    а вот само наложение, подсобите советом, куда этот код надо вставлять, и что если надо дописать, а то запутался по коду уже = (
    PHP:
    // Start Zoom 

    $image imagecreatefrompng($dst_img); // превью
    $watermark imagecreatefrompng("theme/magnifying_glass.png"); // лупа

    $ro=0//отступ от правого края
    $lo=0//отступ сверху
    $w imagesx($image); //ширина картинки
    $h imagesy($image); //высота картинки
    $ww imagesx($watermark); //ширина лупы
    $wh imagesy($watermark); //высота лупы

    imagecopy($image$watermark$w-$ww-$ro$h-$wh-$lo00$ww$wh); // с наложением все понятно = )

    header('Content-type: image/png'); // (отравка хттп-заголовка) имеет ли он смысл в моем коде??
    imagepng($image); // вывод, все понятно, т.е. мне надо убрать imagepng и вместо imagecopy  imagecopyresampled поставить, ведь так??

    imagedestroy($image); // чистим память (превью) 
    imagedestroy($watermark); // чистим память (лупа)

    // End Zoom
    Исходник #Wolf#:
    PHP:
    $image imagecreatefrompng('http://ipicture.ru/uploads/100611/H51orxCq6S.png');//картинка
    $watermark imagecreatefrompng('http://ipicture.ru/uploads/100611/bSP3J7Q2Aj.png');//лупа
    $ro=0;//отступ от правого края
    $lo=0;//отступ сверху
    $w imagesx($image);//ширина картинки
    $h imagesy($image);//высота картинки
    $ww imagesx($watermark);//ширина лупы
    $wh imagesy($watermark);//высота лупы
    imagecopy($image$watermark$w-$ww-$ro$h-$wh-$lo00$ww$wh);//копируем
    #####вывод#########
    header('Content-type: image/png');
    imagepng($image);
    #####/вывод#########
    imagedestroy($image);  
    imagedestroy($watermark);  
     
    #15513 Axel G, 16 Jun 2010
    Last edited: 16 Jun 2010
  14. roxblnfk

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

    Joined:
    6 Feb 2010
    Messages:
    189
    Likes Received:
    42
    Reputations:
    19
    Если я правильно понял, то
    PHP:
    if ($_POST['watermark_thumb'] == "2") { // лупа
        
    $image imagecreatefrompng($dst_img); // превью
        
    $watermark imagecreatefrompng("theme/magnifying_glass.png"); // лупа
        
    $ro=0//отступ от правого края
        
    $lo=0//отступ сверху
        
    $w imagesx($image); //ширина картинки
        
    $h imagesy($image); //высота картинки
        
    $ww imagesx($watermark); //ширина лупы
        
    $wh imagesy($watermark); //высота лупы
        
    imagecopy($image$watermark$w-$ww-$ro$h-$wh-$lo00$ww$wh); // с наложением все понятно = )
        
    header('Content-type: image/png'); // (отравка хттп-заголовка) имеет ли он смысл в моем коде??
                // имеет, если выводится картинка
        
    imagepng($image); // вывод, все понятно, т.е. мне надо убрать imagepng и вместо imagecopy  imagecopyresampled поставить, ведь так??
                // эээ.. чё? :) зачем imagecopyresampled ? оно же для наложения с изменением размера
        
    imagedestroy($image); // чистим память (превью) 
        
    imagedestroy($watermark); // чистим память (лупа) 
    }
    если гуглить водяную марку php:
    http://www.codenet.ru/webmast/php/watermark/
    http://jeka911.wordpress.com/2007/09/25/3_ways_to_add_watermark_to_image_in_php/
    в общем много разной инфы

    насчёт говнокодинга в createThumb()
    POST запросы в функции подобного рода впихивать вредно, а если и надо, то лучше не
    $thumb_q = $_POST['quality_thumb'];
    а что-то типа:
    $thumb_q = isset($_POST['quality_thumb']) ? intval($_POST['quality_thumb']) : 60;
    Так же в параметры функции лучше вписывать ссылку на ресурс картинки а не путь до неё и тип (тип из имени и так определить можно, зачем его функции сообщать?)
    Тут немного не ясно, как связан x и y (высота зависит от x, а длина от y)? oO (ну и elseif нагляднее и правильнее)
    if ($old_x > $old_y){
    $thumb_w = $new_w;
    $thumb_h = $old_y*($new_h/$old_x);
    }
    if ($old_x < $old_y){....
     
  15. roxblnfk

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

    Joined:
    6 Feb 2010
    Messages:
    189
    Likes Received:
    42
    Reputations:
    19
    говоришь при ресайце заливается чёрным? вроде норм всё
    [upd]
    PHP:
    $image imagecreatefrompng('http://ipicture.ru/uploads/100611/H51orxCq6S.png');//картинка
    $watermark imagecreatefrompng('http://ipicture.ru/uploads/100611/bSP3J7Q2Aj.png');//лупа
    $ro=70;//отступ от правого края
    $lo=30;//отступ сверху
    $new_w=40;//длина лупы
    $new_h=20;//вфсота лупы
    $w imagesx($image);//ширина картинки
    $h imagesy($image);//высота картинки
    $ww imagesx($watermark);//ширина лупы
    $wh imagesy($watermark);//высота лупы
    if ($ww $wh){
        
    $thumb_w $new_w;
        
    $thumb_h $wh*($new_h/$ww);
    }elseif(
    $ww $wh){
        
    $thumb_w $ww*($new_w/$wh);
        
    $thumb_h $new_h;
    }elseif(
    $ww == $wh){
        
    $thumb_w $new_w;
        
    $thumb_h $new_h;
    }
    imagecopyresampled($image$watermark$w-$ww-$ro$h-$wh-$lo00$thumb_w$thumb_h,$ww,$wh);//копируем
    #####вывод#########
    header('Content-type: image/png');
    imagepng($image);
    #####/вывод#########
    imagedestroy($image);  
    imagedestroy($watermark); 
     
    #15515 roxblnfk, 16 Jun 2010
    Last edited: 16 Jun 2010
  16. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    Есть 2 числа $a и $b, большое число это 100% ,нужно найти % меньшего числа в большем, как это можно сделать? И записать эти проценты в перемены $ap (% для $a) и $bp (% для $b)
     
  17. Byte_

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

    Joined:
    7 Sep 2008
    Messages:
    143
    Likes Received:
    34
    Reputations:
    2
    Code:
    if($a>$b)
    {
    $ap = 100;
    $bp = ($b/$a)*100;
    }else{
    $ap = ($a/$b)*100;
    $bp = 100;
    }
    
    как-то так походу
     
    1 person likes this.
  18. FastFood

    FastFood New Member

    Joined:
    8 Jun 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Всем привет, помогите с проблемой! Есть код
    <html>
    <head>
    <title>First PHP script</title>
    </head>
    <body>
    <?PHP
    phpinfo();
    echo "Hello";
    ?>
    </body>
    </html>
    но по какой то причине он ничего не выдает на сервере, апач работает, ума не приложу в чем проблема? Вообще все что идет после тега <?php и до ?> не выводится на сервер, остается белая страница...И ещё вопрос как здесь на форуме выкладывать код чтобы он был как цитата, в рамке? Заранее спаибо!
     
    #15518 FastFood, 17 Jun 2010
    Last edited: 17 Jun 2010
  19. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    Fastfood
    1 расширение .php а не .html
    2 [ php ] [/ php ]
     
  20. DoN

    DoN Member

    Joined:
    26 May 2010
    Messages:
    39
    Likes Received:
    20
    Reputations:
    0
    Сохраняй скрипт как название.php
     
Thread Status:
Not open for further replies.