За последние 24 часа нас посетили 32470 программистов и 1755 роботов. Сейчас ищут 855 программистов ...

Имя файла при добавлении в базу

Тема в разделе "MySQL", создана пользователем -Vladimir-, 6 окт 2009.

  1. -Vladimir-

    -Vladimir- Активный пользователь

    С нами с:
    20 сен 2009
    Сообщения:
    139
    Симпатии:
    0
    Такая байда для массового добавления инфы из файлов в БД:

    Инклуды (файл1.php, файл2.php, файл3.php и т.д.)
    PHP:
    1. <?php
    2. $title = "Заголовок";
    3. $text = "Текст";
    4.  
    5. include "main.php";
    6. ?>
    main.php:
    PHP:
    1. <?php
    2. //Добавление информации в базу данных
    3.  
    4. $category = "номер категории";
    5. $namecategory = "название категории";
    6.  
    7. $add[] = "
    8. (
    9. '$url',
    10. '$category',
    11. '$namecategory',
    12. '$title',
    13. '$text',
    14. '1',
    15. '1'
    16. )";
    17. ?>
    add.php:
    PHP:
    1. <?php
    2. //Инклуды
    3. $home = $_GET['home'];
    4. $end = $_GET['end'];
    5.  
    6. //Генерация инклудов
    7. for ($i = $home; $i < $end; $i++)
    8. {
    9. include "$i.php";
    10. }
    11.  
    12. //База данных
    13. $server = "";
    14. $username = "";    
    15. $password = "";
    16. $basename = "";
    17.  
    18. $connect = mysql_connect($server, $username, $password) or die ('Ошибка подключения сервера');
    19. mysql_select_db ($basename, $connect) or die ('Ошибка при выборке базы');
    20. mysql_query("SET NAMES cp1251");
    21.  
    22. //Добавление в базу данных
    23. $query = 'INSERT INTO `info` (url,category,namecategory,title,text,views,vote) VALUES ';
    24. $query .= join(', ', $add);
    25. mysql_query ($query);
    26.  
    27. //Далее
    28. $home2=$home+1000;
    29. $end2=$end+1000;
    30.  
    31. echo "<center><a href='add.php?home=$home2&end=$end2'><b>Далее - с $home2 по $end2</b></a></center>";
    32. ?>
    Что нужно сделать в файле main.php, чтобы генерировался адрес каждого файла (url)?
    Пробовал $_SERVER['REQUEST_URI']; или $_SERVER['PHP_SELF']; - не помогает.
     
  2. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Ты его должен генерировать сам.

    PHP:
    1. <?php
    2. $path = '/path/to/file/in/url/';
    3.  
    4. $url = $prefix . $filename;
    5. ?>
     
  3. -Vladimir-

    -Vladimir- Активный пользователь

    С нами с:
    20 сен 2009
    Сообщения:
    139
    Симпатии:
    0
    Не понял. Хотя бы имя файла можно вывести? (а остальное добавлю сам)
     
  4. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Ну вот же 9я строка add.php
    Ты формируешь имя файла, только без пути

    Код (Text):
    1.  include "$i.php";
    Есть какая-то принципиальная невозможность написать
    PHP:
    1. <?php
    2. $filename = $i . '.php';
    3. ?>
    ??
     
  5. -Vladimir-

    -Vladimir- Активный пользователь

    С нами с:
    20 сен 2009
    Сообщения:
    139
    Симпатии:
    0
    PHP:
    1. <?php
    2. $add[] = "('/file1.php','номер','категория','заголовок','текст','1','1')";
    3. $add[] = "('/file2.php','номер','категория','заголовок','текст','1','1')";
    4. $add[] = "('/file3.php','номер','категория','заголовок','текст','1','1')";
    5. $add[] = "('/file4.php','номер','категория','заголовок','текст','1','1')";
    6. $add[] = "('/file5.php','номер','категория','заголовок','текст','1','1')";
    7. $add[] = "('/file6.php','номер','категория','заголовок','текст','1','1')";
    8. $add[] = "('/file7.php','номер','категория','заголовок','текст','1','1')";
    9.  
    10. //База данных
    11. $server = "";
    12. $username = "";    
    13. $password = "";
    14. $basename = "";
    15.  
    16. $connect = mysql_connect($server, $username, $password) or die ('Ошибка подключения сервера');
    17. mysql_select_db ($basename, $connect) or die ('Ошибка при выборке базы');
    18. mysql_query("SET NAMES cp1251");
    19.  
    20. $query = 'INSERT INTO `info` (url,category,namecategory,title,text,views,vote) VALUES ';
    21. $query .= join(', ', $add);
    22. mysql_query ($query);
    23.  
    24. echo "<center>Информация добавлена!</center>";
    25. ?>
    А так можно сделать?
    add-шки мне технически проще сгенерить.
     
  6. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    можно. Никто не запрещает.

    А в чем смысл всей этой операции? :) Каталог?
     
  7. -Vladimir-

    -Vladimir- Активный пользователь

    С нами с:
    20 сен 2009
    Сообщения:
    139
    Симпатии:
    0
    Добавление текстовой информации в БД.