내 문제에 관한 대부분의 토론을 읽었지만 해결책을 찾지 못했습니다. 그래서, 내가 읽었던 .csv 파일이 있는데, 모든 내용을 추출하고 다차원 배열을 채 웁니다.배열에서 csv를 쓸 수 없습니다
if (($handle = fopen("dateRegion.csv", "r")) !== FALSE) {
# Set the parent multidimensional array key to 0.
$pr = 0;
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
# Count the total keys in the row.
$count = count($data);
# Populate the multidimensional array.
for ($x = 0; $x < $count; $x++) {
$brim[$pr][$x] = $data[$x];
}
$pr++;
}
fclose($handle);
}
그 후, 내가 필요로하는 요소를 추출하고 다른 배열에 넣어 : 그건 내가 그렇게 쓴 코드입니다. 해당 배열은 새로운 .csv 파일의 내용이됩니다.
$parserCsv = array();
$dip=1;
do {
$region = $brim[$dip][7];
$sex = $brim[$dip][8];
$frequency = $brim[$dip][9];
$value = $brim[$dip][10];
$parserCsv[] = array($region, $sex, $frequency, $value);
$dip++;
} while($dip <= 6336);
이이있다 "위해 var_dump()"배열 :
Array(
[0] => Piemonte
[1] => maschi
[2] => 2005
[3] => 16.972)
등
I 어레이의 콘텐츠를 저장할 시도
이
는 코드 해당 스크립트와 함께 fputcsv() 메소드를 사용하여 $ parserCsv :$fp = fopen('csvExtract.csv', 'w');
foreach ($parserCsv as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
하지만 작동하지 않았습니다. csvExtract.csv 파일의 내용이 비어 있습니다. 나는 내 실수를 이해하지 못한다. $ parserCsv와 같은 다른 솔루션을 만들려고 노력했다.
$parserCsv = array(
array($region), array($sex), array($frequency), array($value));
아무 것도 변경되지 않았다. 누군가 조언을 해줄 수 있습니까?
EDIT : mkjasinski가 제안한 해결책으로 코드를 편집했습니다! 코드가 작동 중입니다. 모든 답장을 보내 주셔서 감사합니다.
브루스
디렉토리에 대한 쓰기 권한이 있습니까? – Pitchinnate
예. 있습니다. 저는 스크립트가 실행중인 서버의 소유자입니다. – Bebbolin