|
|
|
| я нашол на этом сайте статью об этом
сделал всё как там написано
работает только выдаёт ошибку
<?
$file_list = ftp_rawlist($ftp_conn, $put);
foreach($file_list as $file_row)
{
// Разбиваем строку по пробельным символам
list($acc,
$bloks,
$group,
$user,
$size,
$month,
$day,
$year,
$file) = preg_split("/[\s]+/", $file_row);
?>
|
ругается насчот "$file) = preg_split("/[\s]+/", $file_row); " этой строки
Notice: Undefined offset: 8 in z:\home\mp3\www\modules\add\add.php on line 94
Notice: Undefined offset: 7 in z:\home\mp3\www\modules\add\add.php on line 94
Notice: Undefined offset: 6 in z:\home\mp3\www\modules\add\add.php on line 94
Notice: Undefined offset: 5 in z:\home\mp3\www\modules\add\add.php on line 94
Notice: Undefined offset: 4 in z:\home\mp3\www\modules\add\add.php on line 94
Notice: Undefined offset: 3 in z:\home\mp3\www\modules\add\add.php on line 94
Notice: Undefined offset: 2 in z:\home\mp3\www\modules\add\add.php on line 94
на каждый шаг цыкла foreach($file_list as $file_row)
подскажите кто знает | |
|
|
|
|
|
|
|
для: paxa
(23.04.2006 в 13:54)
| | Notice является своеобразным советом и выводится, когда выставлена максимальная чувствительность PHP к ошибкам - её следует понизить, как это сделано на всех хостингах, иначе они не дадут работать. Для этого, следует выставить соответствующее значение для директивы error_reporting http://www.softtime.ru/info/articlephp.php?id_article=23, в конфигурационном файле php.ini
error_reporting = E_ALL & ~E_NOTICE
|
Так же можно изменить уровень обработки ошибок локально, для этого в начало скрипта следует поместить функцию
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
?>
|
В качестве параметра, которой передать соответствующий уровень обработки ошибок.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4985 | |
|
|
|
|
|
|
|
для: paxa
(23.04.2006 в 13:54)
| | я понял в чом ошибка он ещё добавляет строку total ***
не все но я то пишу на все случаи жизни
я до писал и вот что получилось
<?
function scan_ftp($ftp_conn, $put) {
GLOBAL $filename;
GLOBAL $mp3;
$file_list = ftp_rawlist($ftp_conn, $put);
if(is_array($file_list)){
#исбовляемся от строки тотал и от строк ошибок
foreach($file_list as $key=>$file_row){
$mass=preg_split("/[\s]+/", $file_row);
if(count($mass)<9){
unset ($file_list[$key]);
}
if(substr($file_row,0,5)=="total"){
unset ($file_list[$key]);
}
}
foreach($file_list as $file_row)
{
$mass=preg_split("/[\s]+/", $file_row);
#если файл содержит пробелы то он будет разбит по проьелам тепер мы его собираем
for ($i = 9; $i < count($mass); $i++){
$mass[8]=$mass[8]." ".$mass[$i];
}
list($acc,
$bloks,
$group,
$user,
$size,
$month,
$day,
$year,
$file) = $mass;
if(substr($file, 0, 1) == '.') continue;
if(substr($file, strlen($file)-4, strlen($file)) == '.mp3'){
$mp3[] =$put.$file;
}
if(substr($acc, 0, 1) == 'd'){
scan_ftp($ftp_conn, $put.$file."/");
}
?>
|
проблема остаётся 1
какоткрыть каталог содержащий в названии пробелы
например сканиууя эту папку
ftp://nirvanaall.ru/nirvanaall.ru/audio/albums/ (login: nirvana pass: nirvana)
получаю результат
Array
(
[0] => Nirvana/01 - You know you're right.mp3
[1] => Nirvana/02 - About a girl.mp3
.......
[19] => Nirvana/20 - Drain you.mp3
[20] => Nirvana/21 - Big chees.mp3
[21] => Nirvana/22 - Lounge act.mp3
)
папки с пробелами игнорирует | |
|
|
|