Я искал и обыскал и провел обширную отладку, и для меня жизнь не может понять, почему fputcsv не работает для меня.fputcsv в PHP не записывается в файл
Я могу успешно открыть файл .csv и написать ему.
Моя отладка доказывает, что массив правильно загружен и что цикл foreach работает правильно. Однако функция fputcsv вообще ничего не пишет. Я удалил все строки, которые могут вызвать проблемы, такие как URL-адреса и т. Д., Но они все равно не будут писать.
Я единственный человек, имеющий доступ к этой среде, поэтому я знаю, что это не конфликт файловой блокировки. Я могу создать файл и написать ему, поэтому я знаю, что это не проблема. И я получаю вывод отладки из цикла foreach, поэтому я знаю, что это не проблема с массивом или циклом.
я предоставлю свой код и отладки журнала ниже ...
$posts_meta = array(
'twitter_title' => $this_title,
'twitter_brandtag' => $this_brandtag,
'twitter_hashtags' => $this_hashtags,
'twitter_iterations' => $this_iteration,
'twitter_timing' => $this_timing,
'twitter_time' => $this_time,
'twitter_id' => $post_id,
);
// Debuging
file_put_contents("/blog/debug.txt", "About to write CSV file.\n", FILE_APPEND);
file_put_contents("/blog/debug.txt", print_r($posts_meta, true)."\n", FILE_APPEND);
$myfile = fopen('/blog/pdm_twitter_ouptut.csv', 'a+');
// More debugin
file_put_contents("/blog/debug.txt", "myfile handle = ".$myfile."\n", FILE_APPEND);
fwrite($myfile, "This file is open and working.\r\n");
foreach ($posts_meta as $fields){
$fresponse = fputcsv($myfile, $fields);
// A little more debugging...
file_put_contents("/blog/debug.txt", $fields."\n", FILE_APPEND);
}
fclose($myfile);
// And more debugging
file_put_contents("/blog/debug.txt", "fputcsv response = ".$fresponse."\n", FILE_APPEND);
file_put_contents("/blog/debug.txt", "Just closed CSV file.", FILE_APPEND);
А вот полученный журнал отладки ...
About to write CSV file.
Array
(
[twitter_title] => World Stocks Up As US Jobs, China Exports Improve
[twitter_brandtag] => - FP test 9
[twitter_hashtags] => #Economy #Markets #Business #Investing #Stocks
[twitter_iterations] => 12
[twitter_timing] => 240
[twitter_time] => 2013-03-08 07:55:24
[twitter_id] => 11051
)
myfile handle = Resource id #548
// Print-out of $fields here...
World Stocks Up As US Jobs, China Exports Improve
- FP test 9
#Economy #Markets #Business #Investing #Stocks
12
240
2013-03-08 07:55:24
11051
fputcsv response = // Hm!? I wonder why no response code?
Just closed CSV file.
Все, что появляется в файле .csv является (как вы можете видеть в отладочном коде выше) «Этот файл открыт и работает».
Любые мысли, которые могут быть приняты, были бы очень признательны!
Большое спасибо!
Trip
Вы должны регистрировать возвращаемые значения вызова fputcsv. он вернет количество байтов, записанных, если это будет выполнено, в противном случае логическое значение false. так как вы вообще не получаете кода ответа, это, вероятно, логическое значение false в конце цикла, которое обычно не печатается. –