ich habe ein Problem:Ich habe hier viele hundert Bilder, alle nummeriert. dazu habe ich eine csv datei (mit tab getrennte spalten) mit 3 spalten, eine mit einer id (nummer eines bildes) und die beiden weiteren mit x und y koordinate.
Ich möchte nun aus den vielen bildern eine große SVG Generieren. Gedacht habe ich mir, dass man das vllt. mit einem php script erledigen könnte -
- erst einlesen der csv in ein array
- dann svg header in eine neue datei schreiben
- dann für jedes elemet in dem array folgendes an die neue datei anhängen
Code: Alles auswählen
<image x="$xkoordinateausCSV" y="yKoordinateausCSV" width="300" height="80"
xlink:href="'$id'.jpg" />
</image>
eine SVG sieht in etwa so aus:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:ev="http://www.w3.org/2001/xml-events"
version="1.1" baseProfile="full"
width="800mm" height="600mm"
viewBox="-400 -300 800 600">
<title>Titel der Datei</title>
<desc>Beschreibung/Textalternative zum Inhalt.</desc>
<image x="20" y="20" width="300" height="80"
xlink:href="logo.png" />
</image>
</svg>
Nun geht es schon los bei den simpelsten dingen:
wie lese ich so ein array ein und gebe es wieder aus?
versucht habe ich das hier:
rückgabe ist ein "array"<?php
$csv = array_map('str_getcsv', file('features.csv'));
echo $csv[3];
?>
nicht so recht was ich erwartet habe...
der Andere Weg war so:
Code: Alles auswählen
<?php
$row = 1;
if (($handle = fopen("features.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
?>
das ist ein Teil der Ausgabe:
Hat jemand eine Idee?<p> 1 fields in line 180: <br /></p>
179 0 81<br />
EDIT: ich bin einen schritt weiter:
Damit habe ich nun die schonmal die csv ein und wieder ausgelesenwhile (($data = fgetcsv($handle, 1000, "\t")) !== FALSE) {
Gruß
Pcace