найти строку по значениею! PHP

Тема в разделе "PHP", создана пользователем rostisslav, 2 фев 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. rostisslav

    rostisslav

    Регистр.:
    27 мар 2007
    Сообщения:
    361
    Симпатии:
    136
    Стоит задача с mysql выбираються данные ( текст) так вот там есть просто текст, а есть имя файла
    например 000XXXXXXX.txt
    так вот надо когда натыкаемся на файл его надобно загрузить!
    -------------------------------------
    как это сделать О великие гуру!:thenks:
     
  2. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Ты уж определись - тебе строку искать или файл загружать?
     
  3. ArtemK

    ArtemK Писатель

    Регистр.:
    4 май 2008
    Сообщения:
    8
    Симпатии:
    0
    Можно попытаться составить запрос, чтобы выбирал только имена файлов однако в этом случае существует вероятность ошибки, а можно сделать так. После выбора данных проверить если это файл загрузить его, ведь если это не фай1л он и не загрузится потому что его просто нет.

    Добавлено через 4 минуты
    Еще более лучший вариант если у вас текст перемешен с именем файла после отбора данных используя регулярные выражения найти имена файлов.
     
  4. rostisslav

    rostisslav

    Регистр.:
    27 мар 2007
    Сообщения:
    361
    Симпатии:
    136
    в базе есть как текст так и имя файла в котором хранться текст!
    когда по запросу делается выборка то если идет имя файла тогда надобно подгружать текстовый файл в противном случае выводить текст
     
  5. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    311
    ТС, тебе нужно подгружать файл ср-вами mysql, т.е. load_file()? или уже в скрипте?
     
  6. Sangre

    Sangre Постоялец

    Регистр.:
    12 ноя 2008
    Сообщения:
    51
    Симпатии:
    6
    нет, у него в базе, как я понял есть текст типа "texttexttexttexttexttexttexttext0000xxxxxxx.txttexttexttexttexttext";

    он вытаскивает его из базы и нужно распарсить эту строку перед использованием(выводом?) так, чтобы вместо 0000xxxxxxx.txt подгрузился текст из этого файла
     
  7. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Бредовая постановка задачи.
    Если могут быть файлы, надо хранить их имена отдельно от текста.
     
  8. Sangre

    Sangre Постоялец

    Регистр.:
    12 ноя 2008
    Сообщения:
    51
    Симпатии:
    6
    +1 или шаблонизировать их вывод в тексте например [filename.txt], чтобы простейшей регуляркой можно было вытащить и обработать
     
  9. rostisslav

    rostisslav

    Регистр.:
    27 мар 2007
    Сообщения:
    361
    Симпатии:
    136
    файлы шаблонизированы
    00000001.txt
    00000002.txt
    все!
     
  10. torquemada

    torquemada Создатель

    Регистр.:
    19 авг 2007
    Сообщения:
    17
    Симпатии:
    3
    если средствами SQL, то.
    SELECT text, LOAD_FILE(text) as textContent from test
    При разборе результатов запроса проверять, если содержимое поля textContent равно null, значит в поле text находится текст, если не равно null, значит в нём содержится содержимое файла

    Добавлено через 13 минут
    Средствами php тоже просто.
    PHP:
    echo ("<pre>");
    mysql_connect("hostname""user""password");
    mysql_select_db("mydb");
    $result =  mysql_query("SELECT text from test");
    while (
    $row mysql_fetch_object($result)) {
        if (
    file_exists($row->text)) {
            
    $handle fopen($row->text"r");
            
    $str fread($handlefilesize($row->text));
            
    fclose($handle);
            echo(
    "\r\n\r\nСодержимое файла (".($row->text)."):");
        } else {
            
    $str $row->text;
            echo(
    "\r\n\r\nСодержимое поля:");
        }
        echo 
    $str;
    }echo (
    "</pre>");
    mysql_free_result($result);
     
Статус темы:
Закрыта.