[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. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    да пожалуста
    <script type="text/javascript">
    document.write(escape("Можно, особенно если выложить закодированный текст") + "<br />")
    </script>
    Все нашел, спасибо мне :)
    может кому пригодиться
    PHP:
    function utf8_urldecode($str,$quotes,$charset){
        
    $str =  preg_replace_callback('/%u([0-9a-f]{4})/i',create_function('$arr','return "&#".hexdec($arr[1]).";";'),$str);
        return 
    html_entity_decode($str,$quotes,$charset);
     }

     
    #6822 PaCo, 17 Dec 2008
    Last edited: 17 Dec 2008
    1 person likes this.
  3. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    m0Hze
    PHP:
     $world file('world.txt');
    foreach(
    $world as $list){
    $list str_replace("\n","",$list); 
    И если что - str_replace может принимать и массив в качестве переменной, следовательно и вернет массив
     
    _________________________
  4. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    PHP:
    $data file('world.txt'FILE_IGNORE_NEW_LINES);
     
    1 person likes this.
  5. ntldr

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

    Joined:
    4 Dec 2007
    Messages:
    367
    Likes Received:
    140
    Reputations:
    23
    PHP:
    foreach(file('world.txt') as $list){
    $list str_replace("\n","",$list);
    .....}
    Наверное!
     
  6. FeoЩту

    FeoЩту New Member

    Joined:
    13 Nov 2008
    Messages:
    29
    Likes Received:
    4
    Reputations:
    0
    PHP:
    $list str_replace("\n","",$list);
    LOL
    PHP:
    $list trim($list);
     
  7. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    m0Hze
    http://php.net/file/
    http://php.net/file_get_contents/
     
    _________________________
  8. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    нашел ответ на вопрос кому интересно смотрите!

    http://forum.antichat.ru/threadnav40896-703-10.html

    #7029 ;)

    При выводе функцией imagejpeg(); в коде не должн присутствовать html код так как в третьей строчке html документа идёт пояснение о том что страница будет передовать html/text контент! вобщем код выглядит вот так!

    PHP:
    <?php include("db.php");
    header('Content-type: image/jpeg');
    if (isset(
    $_POST['vibor'])) { $vibor $_POST['vibor'];} 
    if (isset(
    $_POST['load'])) { $adres $_POST['load'];} 
    $result1 mysql_query("SELECT * FROM data WHERE id='$vibor'",$db);
    if (!
    $result1)
    {
    exit(
    mysql_error());
    }
    if (
    mysql_num_rows($result1) > 0)
    {
    $myrow1 mysql_fetch_array($result1);

    $width 275;
    $heigth 750;
    $adres1 "admin/".$myrow1['url'];
    $im imagecreatetruecolor($width$heigth); 

    $im1 imagecreatefromjpeg($adres);
    $im2 imagecreatefromjpeg('logo.jpg');
    $im3 imagecreatefromjpeg($adres1);
     
    imagecopy($im$im100002525);
    imagecopy($im$im2250002525);
    imagecopy($im$im3025002525);

    imagejpeg($im);
    imagedestroy($im);
    }
    else
    {
    exit();
    }
    ?>
     
  9. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    Вопрос???

    вот скрипт загруски!

    PHP:
    <?php 

    // Подключаемься к базе данных 

    include ("db.php"); 

    //================Настройки============= // 
    $maxwidth "300px"// максимальная ширина картинок на превью 
    $fotos_dir "fotos/"// Директория для фотографий товаров 
    $foto_name $fotos_dir.time()."_".basename($_FILES['myfile']['name']); // Полное имя файла вместе с путем 
    $foto_light_name time()."_".basename($_FILES['myfile']['name']); // Имя файла исключая путь 
    $foto_tag "<img src=\"$foto_name\" border=\"0\">"// Готовый тэг для вставки картинки на страницу 
    $foto_tag_preview "<img src=\"$foto_name\" border=\"0\" width=\"$maxwidth\">"// Тот же тэг, но для превью 

    // Текст ошибок 
    $error_by_mysql "<span style=\"font: bold 15px tahoma; color: red;\">Ошибка при добавлении данных в базу</span>"
    $error_by_file "<span style=\"font: bold 15px tahoma; color: red;\">Невозможно загрузить файл в директорию. Возможно её не существует</span>"



    // Начало 
    if(isset($_FILES["myfile"])) 

    $myfile $_FILES["myfile"]["tmp_name"]; 
    $myfile_name $_FILES["myfile"]["name"]; 
    $myfile_size $_FILES["myfile"]["size"]; 
    $myfile_type $_FILES["myfile"]["type"]; 
    $error_flag $_FILES["myfile"]["error"]; 

    // Если ошибок не было 
    if($error_flag == 0

             
         
    $DOCUMENT_ROOT $_SERVER['DOCMENT_ROOT']; 
    $upfile getcwd()."\\fotos\\" time()."_".basename($_FILES["myfile"]["name"]); 
    if (
    $_FILES['myfile']['tmp_name']) 


       
    //Если не удалось загрузить файл 

    if (!move_uploaded_file($_FILES['myfile']['tmp_name'], $upfile))  

    echo 
    "$error_by_file"
    exit; 



    else 

        echo 
    'Проблема: возможна атака через загрузку файла. '
        echo 
    $_FILES['myfile']['name']; 
        exit; 



    // Заносим путь картинки в базу данных 
    $q "INSERT INTO foto (url,name) VALUES ('$foto_name','$foto_light_name')"
    $query mysql_query($q); 

    // Загрузка с базы


    $result mysql_query("SELECT * FROM foto WHERE name='$foto_light_name'",$db);

    if (!
    $result)
    {
    echo 
    "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору [email protected]. <br> <strong>Код ошибки:</strong></p>";
    exit(
    mysql_error());
    }

    if (
    mysql_num_rows($result) > 0)

    {
    $myrow mysql_fetch_array($result);
    printf ("<img src='%s'/>",$myrow['url']);

    $adres $myrow['url'];
    }

    else
    {
    echo 
    "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
    exit();
    }
    // Данные успешно внесены в базу данных, выводим сообщение 
    if ($query == 'true') { 
    echo 
    "<br /><b>Данные успешно внесены в базу</b>"


    // В противном случае, выводим ошибку при добавлении в базу данных 
    else { 
    echo 
    "$error_by_mysql"



            } 
      
     elseif (
    $myfile_size == 0) { 
     echo 
    "Пустая форма!"
     }  
         

    }
    ?>
    <form action="end.php" method="post" name="end">
    <?
    // Вывод базы картинок
    $result1 = mysql_query("SELECT * FROM data",$db);

    if (!$result1)
    {
    echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору [email protected]. <br> <strong>Код ошибки:</strong></p>";
    exit(mysql_error());
    }

    if (mysql_num_rows($result1) > 0)

    {
    $myrow1 = mysql_fetch_array($result1); 
    do 
    {
    printf ("<br><br><img src='admin/%s'><input name='vibor' type='radio' value='%s'><label>%s</label><br>",$myrow1["url"],$myrow1["id"],$myrow1["name"]); 
    }
    while ($myrow1 = mysql_fetch_array($result1));
     

    }

    else
    {
    echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
    exit();
    }
    ?>
    <input name="load" type="hidden" value="<? echo $adres; ?>" />
    <input name="sub" type="submit" value="далее" />

    </form>
    как зделать чтобы загружаемая катинка загружалась с шириной 215px и сохроняла пропорции? :confused:
     
  10. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Ето значит гдето цикл не закрыт, вот пример банального сравнения мд5 с словариком
    PHP:
    <?php
    $hash 
    '202cb962ac59075b964b07152d234b70';
    $pass = array('12','21','321','123');
    for (
    $i=0$count=count($pass); $i<$count$i++) {
    if(
    $hash == md5($pass[$i]))
    {
        echo 
    "hash - $hash == $pass[$i]";die;
    }
    }
    ?>
    ЗЫ когда работаеш со словарями из файлов, юзай trim() дабы обрезать символы перевода каретки "\r\n"
     
    #6830 b3, 18 Dec 2008
    Last edited: 18 Dec 2008
  11. ss88

    ss88 Banned

    Joined:
    27 Nov 2008
    Messages:
    160
    Likes Received:
    44
    Reputations:
    5
    Не знаю, как другие, а я всегда меняю размеры и пропорции уже на сервере средствами GD2
    Код привести или такое не устраивает?
    И почему ты так наплевал на переделанную версию этого твоего загрузочного скрипта?
     
  12. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    Да я не напливал друг! Ты извения я просто ламал голову над ошибкой которая была в другой странице я нашёл ответ выше описал! Если не трудно могешь мне набросать как ты хотел только так чтоб суть скрипта не менялася!??? ;)
     
  13. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    m0Hze

    PHP:
    echo '<form method = "POST">'
    echo 
    '<input type = "text" name = "hash" value = "">'
    echo 
    '<input type = "submit" value = "Crack">'
    echo 
    '</form>'
    Ты забыл action="" в первой строчке!
     
  14. ss88

    ss88 Banned

    Joined:
    27 Nov 2008
    Messages:
    160
    Likes Received:
    44
    Reputations:
    5
    Я тебе щаз опять приведу тот код, что я уже писал, но я оттуда выкинул неиспользуемые вещи...например, я так и не понял, почему ты не проверял успешность добавления, а потом зачем-то еще и делал выборку того, что только что добавил...
    PHP:
    <?php
    // Подключаемься к базе данных  
    include ("db.php");
    //================Настройки============= // 
    // максимальная ширина картинок на превью   
    $maxwidth "300px";
    // Директория для фотографий товаров 
    $fotos_dir "fotos/";
    // Полное имя файла вместе с путем
    $foto_name $fotos_dir time() . "_" $_FILES['myfile']['name'];
    // Готовый тэг для вставки картинки на страницу  
    $foto_tag "<img src='{$foto_name}' border='0'>";
    // Тот же тэг, но для превью
    $foto_tag_preview "<img src='{$foto_name}' border='0' width='{$maxwidth}'>";
    // Текст ошибок  
    $error_by_mysql "<span style='font: bold 15px tahoma; color: red'>Ошибка при добавлении данных в базу</span>";
    $error_by_file "<span style='font: bold 15px tahoma; color: red'>Невозможно загрузить файл в директорию. Возможно её не существует</span>";
    // Начало  
    if (isset($_FILES["myfile"])) {
        
    // Если ошибок не было  
        
    if (($_FILES["myfile"]["error"] == 0) && (in_array(strtolower(substr($_FILES['myfile']['name'], - 4)), array(".jpg" ".gif" ".png")))) {
            
    $upfile getcwd() . "/fotos/" time() . "_" basename($_FILES["myfile"]["name"]);
            if (
    $_FILES['myfile']['tmp_name']){
                
    //Если не удалось загрузить файл  
                
    if (! move_uploaded_file($_FILES['myfile']['tmp_name'], $upfile))
                    exit(
    $error_by_file);
            }
            else
                exit (
    "Проблема: возможна атака через загрузку файла хотя проверяется это не так, а, наверное, просто нам подсовывают файл не с тем расширением {$_FILES ['myfile'] ['name']}");
            
    // Заносим путь картинки в базу данных  
            
    $query mysql_query("INSERT INTO foto (url,name) VALUES ('{$foto_name}','{$fotos_dir}{$foto_name}')"$db);
            if (
    $query)
                echo 
    "{$foto_tag}Ъ<br /><b>Данные успешно внесены в базу</b>";
            else
                exit(
    "<p>Ошибка сохранения данных.</p>" mysql_error());
        } else 
    //Если возникла ошибка при передаче или левое расширение файла
            
    exit("Ошибка обработки данных либо вы пытаетесь подсунуть нам свинью");
    }
    ?>
    Теперь про изменение размеров
    PHP:
    class PictureItem
        
    {
        function 
    __construct($FileName)
            {
            switch(
    substr($FileName,-4))
                {
                case 
    ".gif":
                    {
                    
    $this->Res=imagecreatefromgif($FileName);
                    
    $this->Ext=($this->Res)?".gif":"";
                    break;
                    }
                case 
    ".jpg":
                    {
                    
    $this->Res=imagecreatefromjpeg($FileName);
                    
    $this->Ext=($this->Res)?".jpg":"";
                    break;
                    }
                }
            if(
    $this->Res)
                {
                
    $this->Width=imagesx($this->Res);
                
    $this->Height=imagesy($this->Res);
                
    $this->FileName=$FileName;
                }
            }
    //Изменение размера открытого изображения
    //Если указаны оба параметра, то изображение будет принудительно растянуто
    //Если задан только первый параметр, то изображение будет пропорционально изменено
        
    function Resize($nWidth,$nHeight=-1)
            {
            if(
    $this->Width!=-1)
                {
                
    $Koef=($nWidth/$this->Width);
                if(
    $nHeight==-1)
                    {
                    
    $nHeight=(int)($Koef*$this->Height);
                    }
                
    $nRes=imagecreatetruecolor($nWidth,$nHeight);
                if(!
    imagecopyresampled($nRes,$this->Res,0,0,0,0,$nWidth,$nHeight,$this->Width,$this->Height))
                    return 
    FALSE;
                
    $this->Res=$nRes;
                
    $this->Width=$nWidth;
                
    $this->Height=$nHeight;
                return 
    TRUE;
                }
            else
                {
                return 
    FALSE;
                }
            }
    //------много чего еще было
    private  $FileName="",$Res,$Ext,$Width=-1,$Height=-1;
    }
    Это неполный код одного небольшого класса когда-то мною написанного, очень давно, но зато довольно просто, хоть и страшно
     
    #6834 ss88, 18 Dec 2008
    Last edited: 18 Dec 2008
  15. ss88

    ss88 Banned

    Joined:
    27 Nov 2008
    Messages:
    160
    Likes Received:
    44
    Reputations:
    5
    Если ты предполагаешь обработку результатов тем же скриптом, то остутствующий action и так подразумевает обработчиком самого себя :-Р ))))
     
  16. Dimaus

    Dimaus Banned

    Joined:
    7 Nov 2008
    Messages:
    30
    Likes Received:
    1
    Reputations:
    0
    Помогите найти ошибки и дороботать код, чтобы ошибок не вылетало, инковские файлы любые, там просто текст:
     
  17. Dimaus

    Dimaus Banned

    Joined:
    7 Nov 2008
    Messages:
    30
    Likes Received:
    1
    Reputations:
    0
    navi.inc:
    <?php
    $naving['title']['nav1'] = "Главная";
    $naving['title']['nav2'] = "Контакты";
    $naving['title']['nav3'] = "О нас";
    $naving['title']['nav4'] = "Галерея";
    $naving['title']['nav5'] = "Продукция";

    $naving['menu']['nav1'] = "Главная";
    $naving['menu']['nav2'] = "Контакты";
    $naving['menu']['nav3'] = "О нас";
    $naving['menu']['nav4'] = "Галерея";
    $naving['menu']['nav5'] = "Продукция";

    $naving['description']['nav1'] = "Главная";
    $naving['description']['nav2'] = "Контакты";
    $naving['description']['nav3'] = "О нас";
    $naving['description']['nav4'] = "Галерея";
    $naving['description']['nav5'] = "Продукция";

    $naving['keywords']['nav1'] = "Главная";
    $naving['keywords']['nav2'] = "Контакты";
    $naving['keywords']['nav3'] = "О нас";
    $naving['keywords']['nav4'] = "Галерея";
    $naving['keywords']['nav5'] = "Продукция";

    $naving['href']['nav1'] = "Главная";
    $naving['href']['nav2'] = "Контакты";
    $naving['href']['nav3'] = "О нас";
    $naving['href']['nav4'] = "Галерея";
    $naving['href']['nav5'] = "Продукция";

    $naving['content']['nav1'] = "Главная";
    $naving['content']['nav2'] = "Контакты";
    $naving['content']['nav3'] = "О нас";
    $naving['content']['nav4'] = "Галерея";
    $naving['content']['nav5'] = "Продукция";
    ?>
     
  18. ss88

    ss88 Banned

    Joined:
    27 Nov 2008
    Messages:
    160
    Likes Received:
    44
    Reputations:
    5
    PHP:
    <?php
    include ("navi.inc");
    ?>
    <html>
    <head>
    <title><?php
    switch ($_GET['a'])
    {
        case 
    "main"     
            
    $title=$naving['title']['nav1']; 
            
    $description=$naving['description']['nav1'];
            
    $keywords=$naving['keywords']['nav1'];
            
    $inc="sasha.inc";
            break;
        case 
    "contacts"    
            
    $title=$naving['title']['nav2']; 
            
    $description=$naving['description']['nav2'];
            
    $keywords=$naving['keywords']['nav2'];
            
    $inc="foot.inc";
            break;
        case 
    "about"    
            
    $title=$naving['title']['nav3']; 
            
    $description=$naving['description']['nav3'];
            
    $keywords=$naving['keywords']['nav3'];
            
    $inc="sash.inc";
            break;
        case 
    "gallery"    
            
    $title=$naving['title']['nav4']; 
            
    $description=$naving['description']['nav4'];
            
    $keywords=$naving['keywords']['nav4'];
            
    $inc="ema.inc";
            break;
        case 
    "products"    
            
    $title=$naving['title']['nav4']; 
            
    $description=$naving['description']['nav5'];
            
    $keywords=$naving['keywords']['nav5'];
            
    $inc="nav.inc";
            break;
        default : 
            
    $title="Ошибка";
            
    $description="Ошибка";
            
    $keywords="Ошибка";
            
    $inc=NULL;
    }
    ?></title>
    <meta NAME="description"
        content="
    <?php echo $description?>">
    <meta NAME="keywords"
        content="
    <?php echo $keywords?>
    ">
    <meta http-equiv="Content-Type"
        content="text/html; charset=windows-1251">
    </head>
    <body bgcolor="#FFFFFF" text="#000000">
    <table width="200" height="79" border="1">
        <tr>
            <td colspan="3">5</td>
        </tr>
        <tr>
            <td><?php
    foreach ($naving['menu'] as $val) {
        echo 
    "<tr><td><a href=\"vasa.php?a=$val\">$val</a></td></tr>";
    }
    ?>
    </td>
            <td width="71" colspan="2">
    <?php if($inc) include($inc); ?></td>
        </tr>
        <tr>
            <td colspan="3">4</td>

        </tr>
    </table>

    </body>
    </html>
    Ня, трудоголик хренофф )))) Кто тебя надоумил так писать код????? ))))) Вобщем, так правильно работает и не надо юзать русские строки в URI, это не очень здравая идея
     
    1 person likes this.
  19. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    Выборка быполняется для того чтобы показать ту картинку которая была загруженна!

    Ты можешь интегрировать тот код с уменьшением картинки в мой код сразу ???
     
    #6839 geforce, 18 Dec 2008
    Last edited: 18 Dec 2008
  20. Dimaus

    Dimaus Banned

    Joined:
    7 Nov 2008
    Messages:
    30
    Likes Received:
    1
    Reputations:
    0
    Я понимаю, что так не правильно, но нужно именно так, без кейсов...
     
Thread Status:
Not open for further replies.