2011-09-25 3 views
0

По какой-то причине я просто тупой с массивами ... Я не могу понять их на всем пути ... Все, что я хочу сделать, это прочитать папку и получить все имена папок внутри эту папку и вставить их в db mysql. Теперь часть db не моя проблема. Его обработка этого массива. В предыдущем проекте я сделал что-то подобное, и теперь я не могу понять, как его модифицировать, чтобы работать здесь.Прочтите каталог, а затем вставьте в sql

<?php 
$main_folder = 'C:/Users/Oval Office/Music/'; 
$folders = glob($main_folder, GLOB_ONLYDIR); 

$artists_names = array(); 
foreach($folders as $folder){ 
    $artists_names[] = preg_split('/(.+)\s(\d+)/', str_replace($main_folder, '', $folder), -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY); 
} 

$values = array(); 
foreach($artists_names as $pair){ 
    $values[] = "('".$pair[0]."')"; 
} 

$query = 'INSERT INTO artists (title) VALUES '.implode(',', $values); 
$result = mysql_query($query); 
echo ($result) ? 'Inserted successfully' : 'Failed to insert the values'; 
?> 

Название Is Just Blank ...

Спасибо Pekka для меня руля в правильном направлении, разместить его в качестве ответа, так что я могу дать некоторые Я. респ.

+0

Что вопрос, что не работает? –

+0

Он печатает, что Query был запущен succesffull, и эта информация вставлена ​​в БД, но когда я иду, проверка заголовка пуста ... – rackemup420

+0

Что содержит '$ values'? Что-нибудь обрабатывается в foreach, который его создает? Является ли '$ artist_names' массивом? –

ответ

1

Я думаю, что wild-card отсутствует.

Попробуйте это:

$main_folder = 'C:/Users/Oval Office/Music/*'; 
Смежные вопросы