Подскажите пожалуйста.
Есть файл .txt. Нужно этот файл загрузить на сайт и записать текст в базу данных так
title = Blazing Saddles
release = 1974
format = VHS
actors = Mel Brooks, Clevon Little, Harvey Korman, Gene Wilder, Slim Pickens, Madeline Kahn
и так весь текстовый файл...
Как реализовать запись, направьте на правильный путь
Title: Blazing Saddles
Release Year: 1974
Format: VHS
Stars: Mel Brooks, Clevon Little, Harvey Korman, Gene Wilder, Slim Pickens, Madeline Kahn
Title: Casablanca
Release Year: 1942
Format: DVD
Stars: Humphrey Bogart, Ingrid Bergman, Claude Rains, Peter Lorre
Title: Charade
Release Year: 1953
Format: DVD
Stars: Audrey Hepburn, Cary Grant, Walter Matthau, James Coburn, George Kennedy
Title: Cool Hand Luke
Release Year: 1967
Format: VHS
Stars: Paul Newman, George Kennedy, Strother Martin
miketomlin
6.03.2019 - 18:52
Парсите и записываете. В чем именно проблема?
kolbok
База данных то какая? Это будет разовый импорт данных или нужно делать постоянно?
База mysql.
Импорт разовый.
Не пойму как текст записать после двоеточия и чтобы каждая строка записывалась в нужную колонку
Title: Blazing Saddles
Release Year: 1974
Format: VHS
Stars: Mel Brooks, Clevon Little, Harvey Korman, Gene Wilder, Slim Pickens, Madeline Kahn
Title: Casablanca
Release Year: 1942
Format: DVD
Stars: Humphrey Bogart, Ingrid Bergman, Claude Rains, Peter Lorre
Title: MASH
Release Year: 1970
Format: DVD
Stars: Donald Sutherland, Elliot Gould, Tom Skerritt, Sally Kellerman, Robert Duvall
Title: The Russians Are Coming, The Russians Are Coming
Release Year: 1966
Format: VHS
Stars: Carl Reiner, Eva Marie Saint, Alan Arkin, Brian Keith
Title: Jaws
Release Year: 1975
Format: DVD
Stars: Roy Scheider, Robert Shaw, Richard Dreyfuss, Lorraine Gary
Title: 2001: A Space Odyssey
Release Year: 1968
Format: DVD
Stars: Keir Dullea, Gary Lockwood, William Sylvester, Douglas Rain
Title: Harvey
Release Year: 1950
Format: DVD
Stars: James Stewart, Josephine Hull, Peggy Dow, Charles Drake
Title: Knocked Up
Release Year: 2007
Format: Blu-Ray
Stars: Seth Rogen, Katherine Heigl, Paul Rudd, Leslie Mann
Вот так выглядит весь txt

Надо выбрать сам txt и записать в базу в таком виде
arbuzmaster
6.03.2019 - 20:58
Если я правильно понял, то нужно заменить ": " на " = "?
Откройте Notepad++ и сделайте "Найти и заменить"
Если нужно в автоматическом режиме на php, то
str_replace например
_____________
Мой первый сайтикПосмотри на свой XBMC под другим углом
Цитата (arbuzmaster @ 6.03.2019 - 19:58) |
Если я правильно понял, то нужно заменить ": " на " = "? |
Не правильно его поняли. Ему нужно этот файл добавить в БД
kolbok,
INSERT INTO films(title,release,format,actors) VALUES ('Blazing Saddles','1974','VHS','Mel Brooks, Clevon Little, Harvey Korman, Gene Wilder, Slim Pickens, Madeline Kahn')
arbuzmaster
6.03.2019 - 22:21
Ну тогда как вариант копать в сторону импорта в БД в формате CSV
_____________
Мой первый сайтикПосмотри на свой XBMC под другим углом
Если это через php
https://dev.mysql.com/doc/refman/5.7/en/load-data.htmlНо как сказал ТС что это разовый импорт, то да в ide можно сделать нужный формат и импортнуть
Цитата (VeRTak @ 6.03.2019 - 21:51) |
Но как сказал ТС что это разовый импорт |
Да, по странной случайности пропустила этот момент. Тогда только load data конечно
Вот набросал, можно прям из браузера вставить в phpMyAdmin. Только 3 изменить на 500 записей.
$lines = file('test.txt');
$addValue = [];
$add = [];
$i = 0;
foreach ($lines AS $value){
$value = trim($value);
if (empty($value)) {
$i = 0;
continue;
}
switch ($i){
case 0:
$add[] = str_replace('Title: ', "", $value);
break;
case 1:
$add[] = str_replace('Release Year: ', "", $value);
break;
case 2:
$add[] = str_replace('Format: ', "", $value);
break;
case 3:
$add[] = str_replace('Stars: ', "", $value);
break;
}
$i++;
if ($i == 4){
$addValue[] = "('". implode("', '", $add) ."')";
$add = [];
if (count($addValue) == 3) {
addSql();
$addValue = [];
}
}
}
if (count($addValue)) {
addSql();
}
function addSql(){
global $addValue;
$sql = "
INSERT INTO
`films`
(`title`, `release`, `format`, `actors`)
VALUES
". implode(', ', $addValue) ."
";
echo '<br>'.$sql;
}
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.