Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#27 used as offset, casting to integer (27) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#28 used as offset, casting to integer (28) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Загрузка файла и fopen()
ТвойWeb » WebMaster класс » PHP/Perl » Загрузка файла и fopen()

Страниц (1): [1]
 

1. Demiurge - 13 Июля, 2011 - 04:26:24 - перейти к сообщению
Значится, пишу такую штуку:
PHP:
if ($imp_type==1) {
#Echo $imp_type.'__'.$csvfile;
$_SESSION['csvfile']=$csvfile;
$handle = fopen ($csvfile, 'r');
lock_file($handle); #процедура спёрнута из ExBB.
$data = fgetcsv ($handle, 1000, ';');

#$num = count ($data);
for ($c=0; $c < 10; $c++)
{
$head .= '<td>'.$data[$c].'</td>';
$equal .= '<td><select name="equal['.$c.']">';
foreach ($db['headers'] as $value => $title){
$equal .= '<option value="'.$value.'"';
if($headers == $value) {
$equal .= 'selected';
}
$equal .= '>'.$title.'</option>';
}
$equal .= '</select></td>';
}
fclose ($handle);
}


При первой загрузке CSV-файла всё нормально, а при повторной - он не может открыть поток, и лечится только перезапуском бровзера.
При том, что файл должен открываться дважды:
Первый раз для этой процедуры, когда извлекаются заголовки и предлагается показать соответствие заголовков и полей в базе.
Второй раз - для перевода содержимого файла в базу, в соответствии с указанными полями.
Почему так? Не понял
2. Systemnik - 21 Июля, 2011 - 15:07:16 - перейти к сообщению
Demiurge,
так вы же сами залочили файл. Вот PHP и не дает его прочесть... Снимите блокировку.
CODE:
flock( $fp, LOCK_UN );

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0357]     [ Gzipped ]