Помогите найти ошибку
1.
Edgar (03.09.2011 / 14:00)
Имею скрипт который копирует данные из файлов в ДБ, но у меня он почему то неработает, помогите найти ошибку.
код ошибки: Filename cannot be empty in C:\www\qyau\data\base.php on line 6
пример файла из которого копируем:
Female|Australia|16|18|Julliet|It was a beautiful country.|2008-07-30|21882
код скрипта:
<?
$files = glob('/*.dat');
$ok = $err = 0;
for($i=0;$i<=99;$i++){
$str = explode('|',file_get_contents($files[$i]));
$sql = mysql_query("insert into `pm_histories` set `gender`='".$str[0]."',`location`='".$str[1]."',`then_was`='".$str[2]."',`now_is`='".$str[3]."',`poster`='".$str[4]."',`story`='".$str[5]."',`date`='".$str[6]."',`code`='".$str[7]."';");
sleep(0.01);
if($sql !== false && mysql_num_rows()>0){$ok++;} else {$err++;}
}
echo "?:$ok<br/>??????:$err";
?>
Добавлено через 02:40 сек.
файлов всего около 800, но копирую по 100 одним разом, незнаю в чем проблема. Спасибо за помощь
2.
KOZZ (03.09.2011 / 14:20)
Filename cannot be empty
Имя файла не может быть пустым. =>
$files[$i] содержит неверное значение
3.
Edgar (03.09.2011 / 14:23)
ну я так и понял, скрипт в папке в которой находятся файлы, так и ищу выхода как иссправить.
4.
Edgar (03.09.2011 / 15:55)
может кто знает алтернативу этому скрипту? это важно, был бы очень блогодарен..
5.
MorgaN (03.09.2011 / 17:44)
а 6ая строка какая?
6.
Игорь (03.09.2011 / 17:47)
<?
$files = glob('/*.dat');
$ok = $err = 0;
for($i=0;$i<=99;$i++){
if(file_exists($files[$i])) {
$str = explode('|',file_get_contents($files[$i]));
$sql = mysql_query("insert into `pm_histories` set `gender`='".$str[0]."',`location`='".$str[1]."',`then_was`='".$str[2]."',`now_is`='".$str[3]."',`poster`='".$str[4]."',`story`='".$str[5]."',`date`='".$str[6]."',`code`='".$str[7]."';");
sleep(0.01);
if($sql !== false && mysql_num_rows()>0){$ok++;} else {$err++;}
}
}
echo "?:$ok<br/>??????:$err";
?>
Попробуй так.
Добавлено через 05:31 сек.
5.
clhost, эм... считать не можем?
$str = explode('|',file_get_contents($files[$i]));
7.
Петр (06.09.2011 / 06:16)
Glob вроде работает нерекурсивно, поэтому, возможно, нужно убрать /, т.е. glob('*.dat');
URL:
https://visavi.net/topics/24609