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

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

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

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

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    2 Nightmarе если я правильно понял то нужно например
    Ж заменить на J, то делаешь массив значения где индексы массива это что менять а соответствующие значения - как строки замены,вот
    PHP:
    function transliteral($text=null){

    $maska=array('Ч'=>'Ch','Ш'=>'Sh','Щ'=>'Sch','Ю'=>'Yu'
                  
    ,'ш'=>'sh','щ'=>'sch','ю'=>'yu','я'=>'ya'
                  
    ,'А'=>'A','Б'=>'B','В'=>'V','Г'=>'G'
                  
    ,'Д'=>'D','Е'=>'E','Ё'=>'E','Ж'=>'J'
                  
    ,'З'=>'Z','И'=>'I','Й'=>'Y','К'=>'K'
                  
    ,'Л'=>'L','М'=>'M','Н'=>'N','О'=>'O'
                  
    ,'П'=>'P','Р'=>'R','С'=>'S','Т'=>'T'
                  
    ,'У'=>'U','Ф'=>'F','Х'=>'H','Ц'=>'C'
                  
    ,'Ъ'=>'"','Ы'=>'Y','Ь'=>'\'','Э'=>'E'
                  
    ,'а'=>'a','б'=>'b','в'=>'v','г'=>'g'
                  
    ,'д'=>'d','е'=>'e','ё'=>'e','ж'=>'j'
                  
    ,'з'=>'z','и'=>'i','й'=>'y','к'=>'k'
                  
    ,'л'=>'l','м'=>'m','н'=>'n','о'=>'o'
                  
    ,'п'=>'p','р'=>'r','с'=>'s','т'=>'t'
                  
    ,'у'=>'u','ф'=>'f','х'=>'h','ц'=>'c'
                  
    ,'ь'=>'\'','ы'=>'y','ъ'=>'"','э'=>'e'
                  
    ,'Я'=>'Ya','ч'=>'ch');

     return !empty(
    $text) ? strtr($text,$maska) : null;

    }

    echo 
    transliteral("Ема ее");

     
    2 people like this.
  2. kraken

    kraken Member

    Joined:
    2 Jan 2009
    Messages:
    74
    Likes Received:
    75
    Reputations:
    5
    PHP:
    <?php

      
    // функция превода текста с кириллицы в траскрипт

      
    function encodestring($st)

      {

        
    // Сначала заменяем "односимвольные" фонемы.

        
    $st=strtr($st,"абвгдеёзийклмнопрстуфхъыэ_ ",

        
    "abvgdeeziyklmnoprstufh'iei-");

        
    $st=strtr($st,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ_",

        
    "ABVGDEEZIYKLMNOPRSTUFH'IEI");

        
    // Затем - "многосимвольные".

        
    $st=strtr($st

                        array(

                            
    "ж"=>"zh""ц"=>"ts""ч"=>"ch""ш"=>"sh"

                            
    "щ"=>"shch","ь"=>"""ю"=>"yu""я"=>"ya",

                            
    "Ж"=>"ZH""Ц"=>"TS""Ч"=>"CH""Ш"=>"SH"

                            
    "Щ"=>"SHCH","Ь"=>"""Ю"=>"YU""Я"=>"YA",

                            
    "ї"=>"i""Ї"=>"Yi""є"=>"ie""Є"=>"Ye"

                            
    )

                 );

        
    // Возвращаем результат.

        
    return $st;

      }
    echo 
    encodestring("Привет **** жлоб пиздец");
    ?> 
     
    1 person likes this.
  3. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Прилепил форму. Кракен +5!
    PHP:
    <?php
    $text
    =$_POST['text'];
    echo 
    '<b>Source:</b> <br /><form name="" action="" method="post">
    <textarea name=text></textarea>     <br />
    <input type="submit" value="Translit">
    </form>'
    ;
      
    // функция превода текста с кириллицы в траскрипт

      
    function encodestring($st)

      {

        
    // Сначала заменяем "односимвольные" фонемы.

        
    $st=strtr($st,"абвгдеёзийклмнопрстуфхъыэ_ ",

        
    "abvgdeeziyklmnoprstufh'iei-");

        
    $st=strtr($st,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ_",

        
    "ABVGDEEZIYKLMNOPRSTUFH'IEI");

        
    // Затем - "многосимвольные".

        
    $st=strtr($st,

                        array(

                            
    "ж"=>"zh""ц"=>"ts""ч"=>"ch""ш"=>"sh",

                            
    "щ"=>"shch","ь"=>"""ю"=>"yu""я"=>"ya",

                            
    "Ж"=>"ZH""Ц"=>"TS""Ч"=>"CH""Ш"=>"SH",

                            
    "Щ"=>"SHCH","Ь"=>"""Ю"=>"YU""Я"=>"YA",

                            
    "ї"=>"i""Ї"=>"Yi""є"=>"ie""Є"=>"Ye"

                            
    )

                 );

        
    // Возвращаем результат.

        
    return $st;

      }
      
    $func=encodestring($text);
      if (isset(
    $_POST[text])){
    echo 
    "<b>Result:</b> <br /><textarea>$func</textarea>";
    }
    ?>
     
    1 person likes this.
  4. waik

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

    Joined:
    2 Nov 2008
    Messages:
    405
    Likes Received:
    163
    Reputations:
    12
    привет можно ли как-то организовать ,я вставил на свою страничку ифрейм на сайт vkontakte и можно как-то сзделать что бы при заходе на мою страничку с ifame выгружалась страничка пользователя но там был нарисован другой рейтинг.Вроде так сделать нельзя.
     
  5. vikseriq

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

    Joined:
    31 Jul 2008
    Messages:
    118
    Likes Received:
    44
    Reputations:
    2
    можно. правкой тега с рейтингом с помощью js. так как фрейм, то вообще кул = window.frame[0].reit.value="0" Вот примерно так (код не рабочий, чисто сэмпл). ПХП тут не нужен )
     
    1 person likes this.
  6. waik

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

    Joined:
    2 Nov 2008
    Messages:
    405
    Likes Received:
    163
    Reputations:
    12
    надо будет у себя локально изменить теги с рейтингм ,но веть у меня на хосте только iframe а всё остальное выгружается у пользователя
     
  7. Whirt

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

    Joined:
    24 Jun 2008
    Messages:
    23
    Likes Received:
    86
    Reputations:
    5
    если id у тэга, то по идее можно так..
    ( у меня получалось ), с ифреймом тоже должно прокатить.
    Code:
    <script language="javascript">document.getElementById("id_элемента").innerHTML = "значение"</script>
     
    #7987 Whirt, 1 Feb 2009
    Last edited: 1 Feb 2009
    1 person likes this.
  8. waik

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

    Joined:
    2 Nov 2008
    Messages:
    405
    Likes Received:
    163
    Reputations:
    12
    я вот всё думаю как это сделать но чет даже принцип не догоняю,а до самого когда мне такими темпами еще далеко.
    Whirt
    стукни в асю 3-семь-семь-шесть-6-девять-9-25

    ну вот кусок кода Вконтакте главной страницы пользователя где пишут про рейтинг
    Code:
    <a style='text-decoration:none' href='rate.php'>  
    <div id="rateGold">  
    <div id="percentGold">120</div>  
    <div class="clearFix">   
    <div id="rateLeftGold" style="width:24px">&nbsp;   
    </div>   
    <div id="rateRightGold" style="width:175px">&nbsp;    
    </div>  
    </div>  
    </div>
    </a> 
    
     
    #7988 waik, 1 Feb 2009
    Last edited: 1 Feb 2009
  9. Whirt

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

    Joined:
    24 Jun 2008
    Messages:
    23
    Likes Received:
    86
    Reputations:
    5
    тебе нужно будет скриптом это делать, потому что если рейт не золотой, а <101 , то там будет называться не percentGold, а как-то по другому. Ну хз, изворачивайся уж как нить. Можно с пхп извратиться, чтобы определялся тип рейтинга, или джавой как нить ( я в ней не силен ), тут уже фантазию подключай.)) Общий принцип я тебе уже написал выше, должно сработать по идее.
     
    1 person likes this.
  10. kraken

    kraken Member

    Joined:
    2 Jan 2009
    Messages:
    74
    Likes Received:
    75
    Reputations:
    5
    waik
    JS не силен. Посредством php можно брать с нужной страницы html код и заменить рейтинг и вывести. Если уустраивает то могу помочь
     
    4 people like this.
  11. AkyHa_MaTaTa

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

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    Ну наверно из parenta ты не достучишся непосредствено до фрейма потому как Permission denied to get property Window.documen, то есть когда в iframe/frame ты загружаешь внешню страницу(находяшиюся на другом хосте) то у тебя из парента непосредствено нету доступа, другое дело что из ифрейма можешь достучаться до парента и его обьектной модели.
     
    #7991 AkyHa_MaTaTa, 1 Feb 2009
    Last edited: 1 Feb 2009
    1 person likes this.
  12. kevmen

    kevmen Member

    Joined:
    29 Oct 2008
    Messages:
    147
    Likes Received:
    23
    Reputations:
    0
    Здравствуйте,пытаюсь написать скрипт для перемещения файла,но что-то не выходит,помогите :) ,буду благодарен!
    PHP:
    <?
    if(!isset(
    $_POST['sub']))
    {
         echo <<<HERE
    <center><form action="up.php" method="post"  enctype="multipart/form-data">
    Закачка файла:<br>
    <input type="file" name="file"><br>
    <input type="submit" name="sub">
    </form></center>
    HERE;
    }
    else{
    if(
    $_POST['file']=="none")
    {
         echo 
    "Вы забыли указать файл";
    }
    elseif(
    copy($_POST[file],folder/$_POST[file]))
    {
         echo 
    "OK";
    }
    else
    {
         echo 
    "Файл не был загружен";
    }
    }
    ?>

    Warning: Division by zero in K:\home\localhost\www\php\up.php on line 26
    То есть файла нет?
     
  13. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    up.php в студию, ты там на ноль делишь, о чем тебе на чистом английском и сообщают

    и второе, это чо???

    PHP:
    if($_POST['file']=="none")
    надо так (как минимум):

    PHP:
    if(empty($_POST['file']))
     
  14. AkyHa_MaTaTa

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

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    elseif(copy($_POST['file'],"folder/$_POST[file]"))
     
    #7994 AkyHa_MaTaTa, 1 Feb 2009
    Last edited: 1 Feb 2009
  15. kevmen

    kevmen Member

    Joined:
    29 Oct 2008
    Messages:
    147
    Likes Received:
    23
    Reputations:
    0
    это и есть up.php,один и тот же файл принимает и обрабатывает!
     
  16. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Зашибись

    Когда весь код в одном файле, action явно нах...й не нужен
     
  17. kevmen

    kevmen Member

    Joined:
    29 Oct 2008
    Messages:
    147
    Likes Received:
    23
    Reputations:
    0
    пишет Вы забыли указать файл)
     
  18. Mirella

    Mirella New Member

    Joined:
    30 Jul 2008
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    здравствуйте проблемма такова ...
    1.не работает почему то скрипт для вывода статов героя про их распределению.
    2. не выходит сделать кроссбраузерную кнопку (сохранить)
    3. он включает php и js сразу
    PHP:
     <?php
        
    echo "<tr><td class='param'>Сила <div id=si></div><td class='st'>".$tmpparams["si"];
        if (
    $tmpparams["dsi"]<>0) {if($tmpparams["dsi"]>0) {echo "+".$tmpparams["dsi"]; }else{ echo $tmpparams["dsi"];}}
        echo
    "<tr><td class='param'>Ловкость <div id=lo></div><td class='st'>".$tmpparams["lo"];
        if (
    $tmpparams["dlo"]<>0) {if($tmpparams["dlo"]>0) {echo "+".$tmpparams["dlo"]; }else{ echo $tmpparams["dlo"];}}
        echo
    "<tr><td class='param'>Интуиция <div id=ud></div><td class='st'>".$tmpparams["ud"];
        if (
    $tmpparams["dud"]<>0) {if($tmpparams["dud"]>0) {echo "+".$tmpparams["dud"]; }else{ echo $tmpparams["dud"];}}
        echo
    "<tr><td class='param'>Здоровье <div id=zd></div><td class='st'>".$tmpparams["zd"];
        if (
    $tmpparams["dzd"]<>0) {if($tmpparams["dzd"]>0) {echo "+".$tmpparams["dzd"]; }else{ echo $tmpparams["dzd"];}}
        echo
    "<tr><td class='param'>Знания <div id=zn></div><td class='st'>".$tmpparams["zn"];
        if (
    $tmpparams["dzn"]<>0) {if($tmpparams["dzn"]>0) {echo "+".$tmpparams["dzn"]; }else{ echo $tmpparams["dzn"];}}
        echo
    "<tr><td class='param'>Божественность <div id=bo></div><td class='st'>".$tmpparams["bo"];
        if (
    $tmpparams["dbo"]<>0) {if($tmpparams["dbo"]>0) {echo "+".$tmpparams["dbo"]; }else{ echo $tmpparams["dbo"];}}
         echo
    "<br><div id=ups></div>";
         echo 
    "<SCRIPT LANGUAGE='JavaScript' SRC='/js/st.js'></SCRIPT><script language=JavaScript>
        st("
    .$user["si"].",".$user["lo"].",".$user["ud"].",".$user["zd"].",".$user["zn"].",".$user["bo"].",".$user["nstats"].");
        </script>"
    ;
        if (
    $user["nstats"]>0)
        echo 
    '<br><center><a onclick="save()" style = "cursor:hand">Сохранить</a></center>';

    ?>
    Code:
    var si = 1;
    var lo = 1;
    var ud = 1;
    var zd = 1;
    var zn = 1;
    var bo = 1;
    var ups = 0;
    var ssi = 1;
    var slo = 1;
    var sud = 1;
    var szd = 1;
    var szn = 1;
    var sbo = 1;
    var nym = 0;
    var nmym = 0;
    var nsym = 0;
    
    
    function st (ssi,slo,sud,szd,szn,sbo,sup)
    {
    si = ss;
    lo = sl;
    ud = su;
    zd = szd;
    zn = szn;
    bo = sp;
    ups = sup;
    ssi = ss;
    slo = sl;
    sud = su;
    szd = szd;
    szn = szn;
    sbo = sp;
    if (ssi<1) ssi=1;
    if (slo<1) slo=1;
    if (sud<1) sud=1;
    if (szd<1) szd=1;
    if (szn<1) szn=1;
    if (sbo<1) spbo=1;
    if (ups>0){
    top.frames['main_top'].document.all('si').innerHTML = ssi+'<a onclick="stupsi(1)" style = "cursor:hand">+</a><a onclick="stupsi(-1)" style = "cursor:hand">-</a>';
    top.frames['main_top'].document.all('lo').innerHTML = slo+'<a onclick="stuplo(1)" style = "cursor:hand">+</a><a onclick="stuplo(-1)" style = "cursor:hand">-</a>';
    top.frames['main_top'].document.all('ud').innerHTML = sud+'<a onclick="stupud(1)" style = "cursor:hand">+</a><a onclick="stupud(-1)" style = "cursor:hand">-</a>';
    top.frames['main_top'].document.all('zd').innerHTML = szd+'<a onclick="stupzd(1)" style = "cursor:hand">+</a><a onclick="stupzd(-1)" style = "cursor:hand">-</a>';
    top.frames['main_top'].document.all('zn').innerHTML = szn+'<a onclick="stupzn(1)" style = "cursor:hand">+</a><a onclick="stupzn(-1)" style = "cursor:hand">-</a>';
    top.frames['main_top'].document.all('bo').innerHTML = sbo+'<a onclick="stupbo(1)" style = "cursor:hand">+</a><a onclick="stupbo(-1)" style = "cursor:hand">-</a>';
    }
    if (ups==0){
    top.frames['main_top'].document.all('si').innerHTML = ssi;
    top.frames['main_top'].document.all('lo').innerHTML = slo;
    top.frames['main_top'].document.all('ud').innerHTML = sud;
    top.frames['main_top'].document.all('zd').innerHTML = szd;
    top.frames['main_top'].document.all('zn').innerHTML = szn;
    top.frames['main_top'].document.all('bo').innerHTML = sbo;
    }
    if (ups != 0) top.frames['main_top'].document.all('ups').innerHTML ='Повышений: '+ups;
    }
    
    function stupsi (up) {
    if ((up==-1 && si > ssi) | (up==1))
    if (up==-1 | ups>0) {
    si += up;
    top.frames['main_top'].document.all('si').innerHTML =si+'<a onclick="stupsi(1)" style = "cursor:hand">+</a><a onclick="stupsi(-1)" style = "cursor:hand">-</a>' ;
    ups -= up;
    if (ups != 0) top.frames['main_top'].document.all('ups').innerHTML ='Повышений: '+ups;
    if (ups == 0) top.frames['main_top'].document.all('ups').innerHTML = '';
    }}
    function stuplo (up) {
    if ((up==-1 && lo > slo) | (up==1))
    if (up==-1 | ups>0) {
    lo += up;
    top.frames['main_top'].document.all('lo').innerHTML = lo+'<a onclick="stuplo(1)" style = "cursor:hand">+</a><a onclick="stuplo(-1)" style = "cursor:hand">-</a>' ;
    ups -= up;
    if (upsi != 0) top.frames['main_top'].document.all('ups').innerHTML ='Повышений: '+ups;
    if (upsi == 0) top.frames['main_top'].document.all('ups').innerHTML = '';
    }}
    function stupud (up) {
    if ((up==-1 && ud > sud) | (up==1))
    if (up==-1 | ups>0) {
    ud += up;
    top.frames['main_top'].document.all('ud').innerHTML = ud+'<a onclick="stupud(1)" style = "cursor:hand">+</a><a onclick="stupud(-1)" style = "cursor:hand">-</a>' ;
    ups -= up;
    if (ups != 0) top.frames['main_top'].document.all('ups').innerHTML ='Повышений: '+ups;
    if (ups == 0) top.frames['main_top'].document.all('ups').innerHTML = '';
    }}
    function stupzd (up) {
    if ((up==-1 && zd > szd) | (up==1))
    if (up==-1 | ups>0) {
    zd += up;
    top.frames['main_top'].document.all('zd').innerHTML = zd+'<a onclick="stupzd(1)" style = "cursor:hand">+</a><a onclick="stupzd(-1)" style = "cursor:hand">-</a>' ;
    ups -= up;
    if (ups != 0) top.frames['main_top'].document.all('ups').innerHTML ='Повышений: '+ups;
    if (ups == 0) top.frames['main_top'].document.all('ups').innerHTML = '';
    }}
    function stupzn (up) {
    if ((up==-1 && zn > szn ) | (up==1))
    if (up==-1 | ups>0) {
    zn += up;
    top.frames['main_top'].document.all('zn').innerHTML = zn+'<a onclick="stupzn(1)" style = "cursor:hand">+</a><a onclick="stupzn(-1)" style = "cursor:hand">-</a>' ;
    ups -= up;
    if (ups != 0) top.frames['main_top'].document.all('ups').innerHTML ='Повышений: '+ups;
    if (ups == 0) top.frames['main_top'].document.all('ups').innerHTML = '';
    }}
    function stupbo (up) {
    if ((up==-1 && bo > sbo) | (up==1))
    if (up==-1 | ups>0) {
    bo += up;
    top.frames['main_top'].document.all('power').innerHTML = bo+'<a onclick="stupbo(1)" style = "cursor:hand">+</a><a onclick="stupbo(-1)" style = "cursor:hand">-</a>' ;
    ups -= up;
    if (ups != 0) top.frames['main_top'].document.all('ups').innerHTML ='Повышений: '+ups;
    if (ups == 0) top.frames['main_top'].document.all('ups').innerHTML = '';
    }}
    function save () {
    top.frames['main_top'].document.all('si').innerHTML = '';
    top.frames['main_top'].document.all('si').innerHTML = '<form method=post action=main.php name=stats>'+'<input type=hidden name=si value='+si+'>'+'<input type=hidden name=lo value='+lo+'>'+'<input type=hidden name=ud value='+ud+'>'+ '<input type=hidden name=zd value='+zd+'>' + '<input type=hidden name=zn value='+zn+'>'+'<input type=hidden name=bo value='+bo+'>' + '<input type=hidden name=ups value='+ups+'>' + '</form>'+si+'<a onclick="stupsi(1)" style = "cursor:hand">+</a><a onclick="stups(-1)" style = "cursor:hand">-</a>';
    top.frames['main_top'].document.stats.submit();
    }
    если можно как то упростить и исправить . буду очень благодарен

    должно быть так (пример: Сила 1 и если есть лишние навыки то высвечивается + напротив каждого стата
    и внизу их свободное количество)
     
    #7998 Mirella, 1 Feb 2009
    Last edited: 1 Feb 2009
  19. blaga

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

    Joined:
    23 Mar 2006
    Messages:
    884
    Likes Received:
    273
    Reputations:
    106
    фигня какаято
    1 у тебя никогда не будет $_POST['file']=="none"
    2
    PHP:
    if (is_uploaded_file($_FILES['file']['tmp_name']))
    {    
                
    move_uploaded_file($_FILES['filen']['tmp_name'], "/img/wallpaper".$name_image."");

    }
     
    1 person likes this.
  20. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    "пишет файл не указан!)"

    ты загрузить хочешь (с нуля) или скопировать существующий файл? Если файла нет (локально) - конечно выдаст ошибку. Если ты пытаешься сделать загрузку файла на сервер со стороны клиента - это вовсе не так делается

    в общем понятно, скорее всего загрузить файл на сервер со стороны клиента, вот тебе скрипт, который не особо мною проверен на безопасность, но функционален хотя бы (если речь вообще идет о файлообменнике типо):

    http://slil.ru/26605500

    код скрипта сюда не вставляется, похоже за шелл принимает:))

    [/php]
     
    #8000 Pashkela, 1 Feb 2009
    Last edited: 1 Feb 2009
    1 person likes this.
Thread Status:
Not open for further replies.