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

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

Thread Status:
Not open for further replies.
  1. [JavaScript]

    [JavaScript] Member

    Joined:
    14 Feb 2009
    Messages:
    45
    Likes Received:
    22
    Reputations:
    1
    PHP:
    <?
    $file="file.txt"//файл куда писать
    $string="много много любого текста..."//текст который писать
    $fp=fopen($file,"a+"); //открываем файл
    fwrite($fp,$string); //пишем текст в файл
    fclose($fp); //закрываем файл
    ?>
    Вот скрипт с комментариями...
     
    1 person likes this.
  2. shellz[21h]

    shellz[21h] Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    311
    Likes Received:
    68
    Reputations:
    6
    Уважаемые кодеры, подскажите плиз.
    Есть данные в формате:

    user_id: table1
    user: table1
    userpass: table1
    usemail: table1

    userid: table2
    user: table2
    userpass: table2

    id:table3
    user:table3
    etc...
    из этого списка, нужно сделать:

    user_id,user,userpass,usermail.table1
    userid,user,userpass.table2

    Подскажите, как это реализовать, никак не получается. Заранее блогадерен.
     
  3. OnArs

    OnArs Banned

    Joined:
    1 Aug 2008
    Messages:
    211
    Likes Received:
    13
    Reputations:
    1
    Мужики!

    Есть функция md5(); а ей обратной нет чтоле? :(


    //Уже нашёл что нет =( Спасибо ))
     
    #8643 OnArs, 22 Feb 2009
    Last edited: 22 Feb 2009
  4. heretic1990

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

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    нет, md5 только брутить!
     
  5. KIR@PRO

    KIR@PRO from Exception

    Joined:
    26 Dec 2007
    Messages:
    826
    Likes Received:
    291
    Reputations:
    359
    ну давай для начала разберемся откуда данные из sql базы? изи из текстового файла? )))

    p.s. или может я чего то непонял) ну яж не экстра сенс всетаки..

    p.p.s. то что ты написал это не данные а структура скорее всего...
     
    _________________________
  6. [JavaScript]

    [JavaScript] Member

    Joined:
    14 Feb 2009
    Messages:
    45
    Likes Received:
    22
    Reputations:
    1
    shellz[21h], а можно поподробнее?
    OnArs, md5 это необратимый алгоритм хеширования. Вхлом возможен только с помощью перебора.
     
  7. shellz[21h]

    shellz[21h] Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    311
    Likes Received:
    68
    Reputations:
    6
    данные из файла.

    Повторюсь, файл с данными, либо структука как угодно):

    user_id: table1
    pass: table1
    mail: table1
    pid: table2
    url: table2
    sum: table2

    Нужно этот список, превратить в:

    user_id,pass,mail.table1
    pid,url,sum.table2
     
  8. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    shellz[21h]
    PHP:
    $in=file('file.txt');
    $out=array();
    foreach(
    $in as $row)
    {
        
    $tmp=explode(': ',$row,2);
        
    $out[$tmp[1]][]=$tmp[0];
    }
    foreach (
    $out as $u=>$v)
    {
        
    $out[$u]=implode(',',$v).'.'.$u;
    }

    print_r($out);
     
    _________________________
    1 person likes this.
  9. shellz[21h]

    shellz[21h] Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    311
    Likes Received:
    68
    Reputations:
    6
    Gifts, спасибо!
     
  10. Winst0n

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

    Joined:
    19 Aug 2008
    Messages:
    92
    Likes Received:
    5
    Reputations:
    0
    в бд кодировка cp1251
    а выводит вот такой бред...
    [​IMG]

    как исправить ?
     
  11. KIR@PRO

    KIR@PRO from Exception

    Joined:
    26 Dec 2007
    Messages:
    826
    Likes Received:
    291
    Reputations:
    359

    попробуй другую кодировку, одну из cp1251 она не одна. на сайту ты какую кодировку используеш?
     
    _________________________
  12. Zedi

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

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    поменяй кодировку базы данных, можно в phpmyadmin
    и попробуй в двиге сразу посде соединения с базой выполнить запрос SET NAMES cp1251
    или создай файл .htaccess с
    Code:
    AddDefaultCharset windows-1251
     
    #8652 Zedi, 23 Feb 2009
    Last edited: 23 Feb 2009
  13. KIR@PRO

    KIR@PRO from Exception

    Joined:
    26 Dec 2007
    Messages:
    826
    Likes Received:
    291
    Reputations:
    359
    я имел ввиду страница у тебя какую кодировку использует... просто возможно несколько вариантов:
    1) mysql возвращает данные в другой кодировке
    2) mysql возвращает данные в нужной кодировке а изза другой кодировки страницы браузер показывает не то что хотелось бы


    но у тебя как видно первый вариант
     
    _________________________
  14. kraken

    kraken Member

    Joined:
    2 Jan 2009
    Messages:
    74
    Likes Received:
    75
    Reputations:
    5
    Winst0n мб ты сделал дамп или туда ставил двиг с нуля?
     
  15. Winst0n

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

    Joined:
    19 Aug 2008
    Messages:
    92
    Likes Received:
    5
    Reputations:
    0
    бд кодировки cp1251
    Code:
    AddDefaultCharset windows-1251
    добавил...

    все равно криво выводит

    kraken, и с 0 и с "Sypex Dumper" и через муадмин, все криво выводит =\

    надо на другом хосте попробывать...
     
    #8655 Winst0n, 23 Feb 2009
    Last edited: 23 Feb 2009
  16. geforce

    geforce Member

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

    Почему функция иногда неработает! Как я заметил она не работает при загрузки картинок с большим разширением???

    PHP:
    function openResizeAndSave($nWidth,$fileName) {
                switch(
    substr($fileName,-4)) {
                   case 
    ".gif": {
                    
    $Res=imagecreatefromgif($fileName);
                    
    $ext=($Res)?".gif":"";
                    break;
                    }
                   case 
    ".jpg": {
                    
    $Res=imagecreatefromjpeg($fileName);
                    
    $ext=($Res)?".jpg":"";
                    break;
                    }
                 default: return 
    FALSE;
                }
                if(
    $Res) {
                    
    $Width=imagesx($Res);
                    
    $Height=imagesy($Res);
                }
                else
                    return 
    FALSE;
                  
    $Koef=($nWidth/$Width);
                  
    $nHeight=(int)($Koef*$Height);
                  
    $nRes=imagecreatetruecolor($nWidth,$nHeight);
                 if(!
    imagecopyresampled($nRes,$Res,0,0,0,0,$nWidth,  $nHeight,$Width,$Height))
                    return 
    FALSE;
                    
    $Res=$nRes;
                    
    unlink($fileName);
                switch(
    $ext) {
                    case 
    ".jpg": {
                        if(!
    imagejpeg($Res,$fileName))
                            return 
    FALSE;
                        break;
                        }
                    case 
    ".gif": {
                        if(!
    imagegif($Res,$fileName))
                            return 
    FALSE;
                        break;
                        }
                    default : return 
    FALSE;
                    }
                return 
    TRUE;
    }
    Файл где она приминяется:

    PHP:
    <?php
    // Подключаемься к базе данных
    include("db.php");
    include(
    "function.php");
    //================Настройки============= //
    // максимальная ширина картинок на превью
    $maxwidth "300px";
    // Директория для фотографий товаров
    $fotos_dir "fotos/";
    $resizeWidth=215;
    // Полное имя файла вместе с путем
    $foto_name time() . "_" $_FILES['myfile']['name'];
    $foto_name_dir $fotos_dir time() . "_" $_FILES['myfile']['name'];
    // Готовый тэг для вставки картинки на страницу
    $foto_tag "<img src='{$foto_name_dir}' border='0'>";
    // Тот же тэг, но для превью
    $foto_tag_preview "<img src='{$foto_name_dir}' 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
                {
    //Вызов новой функции для изменения размеров, учти, что теперь только jpg & gif, если хочешь, то добавь png, там все одинково получится
                    
    openResizeAndSave($resizeWidth,$upfile);
                }
            }
            else
                exit (
    "Проблема: возможна атака через загрузку файла хотя проверяется это не так, а, наверное, просто нам подсовывают файл не с тем расширением {$_FILES ['myfile'] ['name']}");
            
    // Заносим путь картинки в базу данных
            
    $query mysql_query("INSERT INTO foto (url,name) VALUES ('{$foto_name_dir}','{$foto_name}')"$db);
            if (
    $query)
            {
                echo 
    "{$foto_tag}<br /><b>Данные успешно внесены в базу</b>";
                
    $adres=$foto_name_dir;
            }
            else
                exit(
    "<p>Ошибка сохранения данных.</p>" mysql_error());
        } else 
    //Если возникла ошибка при передаче или левое расширение файла
            
    exit("Ошибка обработки данных либо вы пытаетесь подсунуть нам свинью");
    }
    ?>
     
    #8656 geforce, 23 Feb 2009
    Last edited: 23 Feb 2009
  17. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    1. Ты Свои php файлы через какую прогу сохронял?
    2. При импорте баз на хост выставь нужную кодировку т.к. на некоторых хостах она выстовляется автомотически на юникод!
     
    #8657 geforce, 23 Feb 2009
    Last edited: 23 Feb 2009
  18. kik8888

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

    Joined:
    29 Feb 2008
    Messages:
    45
    Likes Received:
    6
    Reputations:
    -4
    geforce, a какую ошибку она выдает, когда не работает?
    Может быть просто не хватает памяти... Попробуй увеличь memory_limit в конфиге пхп, например в .htaccess пропиши.
     
  19. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    Ошибки не бывает! Картинка тупо загружается не соблюдая пропорции!
     
  20. Frize

    Frize New Member

    Joined:
    8 Nov 2008
    Messages:
    44
    Likes Received:
    1
    Reputations:
    0
    народ помогите написать парсер)
    html код страници
    надо сделать так, чтобы вписывать текст и нажимать кнопку отправить :-D
     
    #8660 Frize, 24 Feb 2009
    Last edited: 24 Feb 2009
Thread Status:
Not open for further replies.