Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: выборка и запись в файл

Сообщения:  [1-8] 

 
 автор: cheops   (17.07.2006 в 17:52)   письмо автору
 
   для: CTAJIKEP   (17.07.2006 в 17:06)
 

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); 
?>

В качестве параметра, которой передать соответствующий уровень обработки ошибок.

   
 
 автор: CTAJIKEP   (17.07.2006 в 17:48)   письмо автору
 
   для: valenok   (17.07.2006 в 14:17)
 

вот это не подходит
<?
$csv
=Array("1;12;7;13;0;75","2;22;27;23;20;25","3;32;37;33;30;35"); 
$txt=Array("id 1 param1 param2 param3 param4"
"id 2 param1 param2 param3 param4"
"id 3 param1 param2 param3 param4"); 
?>
нужно так
<?
$handle 
fopen("c:\\inc\\file.csv""r");
$csv fgetcsv($handle10000";");
fclose($handle);
?>
ибо файлы от 1 до 12 метров

   
 
 автор: CTAJIKEP   (17.07.2006 в 17:06)   письмо автору
 
   для: valenok   (17.07.2006 в 14:17)
 

результат работы скрипта:

Notice: Undefined offset: 0 in C:\Program Files\PHP Expert Editor\phpAB.tmp on line 29

Notice: Undefined offset: 0 in C:\Program Files\PHP Expert Editor\phpAB.tmp on line 30

Notice: Undefined offset: 0 in C:\Program Files\PHP Expert Editor\phpAB.tmp on line 31

Notice: Undefined offset: 0 in C:\Program Files\PHP Expert Editor\phpAB.tmp on line 32

Notice: Undefined offset: 0 in C:\Program Files\PHP Expert Editor\phpAB.tmp on line 29

Notice: Undefined offset: 0 in C:\Program Files\PHP Expert Editor\phpAB.tmp on line 30

Notice: Undefined offset: 0 in C:\Program Files\PHP Expert Editor\phpAB.tmp on line 31

Notice: Undefined offset: 0 in C:\Program Files\PHP Expert Editor\phpAB.tmp on line 32

Notice: Undefined offset: 0 in C:\Program Files\PHP Expert Editor\phpAB.tmp on line 29

Notice: Undefined offset: 0 in C:\Program Files\PHP Expert Editor\phpAB.tmp on line 30

Notice: Undefined offset: 0 in C:\Program Files\PHP Expert Editor\phpAB.tmp on line 31

Notice: Undefined offset: 0 in C:\Program Files\PHP Expert Editor\phpAB.tmp on line 32

Array
(
    [0] => Array
        (
            [0] => 7
            [1] => 13
            [2] => 0
            [3] => 75
        )

    [1] => Array
        (
            [0] => 27
            [1] => 23
            [2] => 20
            [3] => 25
        )

    [2] => Array
        (
            [0] => 37
            [1] => 33
            [2] => 30
            [3] => 35
        )

)

   
 
 автор: valenok   (17.07.2006 в 14:17)   письмо автору
 
   для: CTAJIKEP   (17.07.2006 в 13:51)
 

 <?
$csv
=Array("1;12;7;13;0;75","2;22;27;23;20;25","3;32;37;33;30;35");
$txt=Array("id 1 param1 param2 param3 param4",
"id 2 param1 param2 param3 param4",
"id 3 param1 param2 param3 param4");
$free=0;


for(
$i=0;$i<count($txt);$i++){ 
    
$temp explode(" ",$txt[$i]); 
    
$d=$temp[1];
    
$_txt[$d]=$temp;
    unset(
$_txt[$d][0],$_txt[$d][1],$temp,$d);
}

for(
$i=0;$i<count($csv);$i++){ 
    
$_csv[$i]=explode(";",$csv[$i]);
    
$index=array_search($_csv[$i][0],$_txt);
    if(
$index===""){ continue; } 
    
$result[$free][0] = $_csv[$i][2] + $_txt[$index][2];
    
$result[$free][1] = $_csv[$i][3] + $_txt[$index][3];
    
$result[$free][2] = $_csv[$i][4] + $_txt[$index][4];
    
$result[$free][3] = $_csv[$i][5] + $_txt[$index][5];
    
$free++;
}
print 
"<pre>";
print_r($result);

   
 
 автор: CTAJIKEP   (17.07.2006 в 13:51)   письмо автору
 
   для: cheops   (17.07.2006 в 11:28)
 

первая строка файла csv
1;12;7;13;0;75

первая строка файла тхт
id 1 param1 param2 param3 param4

нужно из первой строки csv файла взять единицу, найти ее в тхт файле, если нашли то сложить 7+param1, 13+param2, 0+param3, 75+param4 и записать в файл, если нет то перейти на вторую строку файла csv и тд до конца файла csv.

   
 
 автор: cheops   (17.07.2006 в 11:28)   письмо автору
 
   для: CTAJIKEP   (17.07.2006 в 04:09)
 

Хм... текстовый файл был бы действительно очень кстати - какой у него формат?

   
 
 автор: Ziq   (17.07.2006 в 05:40)   письмо автору
 
   для: CTAJIKEP   (17.07.2006 в 04:09)
 

Сам то понял что написал? Яснее объясняй. И приложи формат файлов csv и txt.

   
 
 автор: CTAJIKEP   (17.07.2006 в 04:09)   письмо автору
 
 

есть file.csv и file. тхт в анси.
нужно открыть оба файла, преобразовать в массив первую строку file.csv
и первую строку file. тхт
если array[0]=>( ) файла csv равен array[3]=>( ) file.тхт, например, то записать в файл summa.txt сумму двух элементов массивов, если нет то перебирать строки file. тхт до конца файла.
если до конца файла не было совпадений, то загнать в массив вторую строку file.csv и повторить заново, и так до конца file.csv.
я новичек в PHP и для меня это напряг, два дня думаю и все никак, помогите плиз.

   

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования