CSV Daten in PHP einlesen

kkc2003

Grünschnabel
Hallo,

ich komme aus der Grafikabteilung und habe überhaupt keine Ahnung vom Programmieren. Ich versuche nun schon seit Tagen eine echt simple (peinlich) Sache. Ich habe eine PHP Datei, die an drei Stellen mit Werten einer CSV Datei gefüttert werden soll. Diese liegt im gleichen Verzeichnis wie die Php-Datei.

Die CSV Datei hat die Werte "Titel", "Beschreibung" und "Bild" in den Spalten 1,2 und 5. Die erste Zeile dient zur Beschreibung der Spalten. Also die Werte sind in Zeile 2. Der restlichen Zeilen und Spalten benötige ich nicht.

Titel und Bild sind einfache kurze Texte. In der Spalte Bild ist eine URL (http://www.domain.com/05.02.09.gif). Das Bild soll auf der Seite dargestellt werden.

Ich wäre euch sehr verbunden, wenn mir jemand helfen könnte. Ich habe es mit den Anleitungen und Tips diverser Seiten und Foren probiert. Ich schaff es nicht! :confused:

Tausend Dank!
 
PHP:
$csv = fopen('datei.csv', 'r');

while($data = fgetcsv($csv, 1024, ';'))
 {
  echo $data[0];
  echo $data[1];
  echo $data[4];
 }

so in etwa sollte es gehen
 
Hallo, danke für die Hilfe!

Wie gesagt, ist nicht meine Welt. So bekomme ich auch die 1. Zeile ausgegeben und es soll das Bild der URL angezeigt werden. Danke!
 
Ich würds mit file() und explode() machen.
PHP:
// Datei in Array laden
$ausDatei = file("datei.csv");

// Die zweite Zeile in Spalten mit explode() auftrennen
// ausgehend davon, daß der Delimiter hier ein Semikolon ist!
$zeilenArray = explode(";",$ausDatei[1]); // 0 wäre die erste Zeile, also die Überschriften.

// $zeilenArray[0] enthält den Titel
// $zeilenArray[1] enthält die Beschreibung
// $zeilenArray[4] enthält den Link zum Bild
 
Hallo, ich habe es nun so mit den Werten hinbekommen:
PHP:
<?php

if (file_exists('adt_daten.csv')) {
$Datei = fopen('adt_daten.csv','r');
$Zeile1 = fgets($Datei,9999);
$Zeile2 = fgets($Datei,9999);
$Zeile3 = fgets($Datei,9999);
$array1 = explode(";",$Zeile2);
fclose($Datei);
}

echo $array1[0]."<br>".$array1[1]."<br><br>";


?>

Aber beim Bild:
PHP:
<?php

if (file_exists('adt_daten.csv')) {
$Datei = fopen('adt_daten.csv','r');
$Zeile1 = fgets($Datei,9999);
$Zeile2 = fgets($Datei,9999);
$Zeile3 = fgets($Datei,9999);
$array3 = explode(";",$Zeile2);
fclose($Datei);
}

echo $array3[4]."<br>".$array1[1]."<br><br>";


?>

wird nur die URL wird als Text ausgegeben. Wie kann ich es machen, dass das Bild angezeigt wird?

Außerdem habe ich ein Problem mit den Umlauten. Da erscheinen ? Zeichen. Was muss ich da ändern?

Vielen Dank!
 
Das kommt der Sache schon nahe. Nur leider wird ein leerer Platzhalter in den angelegten Bildausmaßen gezeigt. Iirgendwie findet er das Bild nicht. Die Ausgabe des Feldes ist so http://www.domin.com/05.02.09.gif - eingegeben im Browser kommt das Bild!

PHP:
echo '<img src="$array3[4]" width="160" height="400" alt="Test" title="Test2" />';
 
so muss es aussehen:
PHP:
echo "<img src='$array3[4]' width='160' height='400' alt='Test' title='Test2' />";
 
Top - klappt! Vielen Dank! Woran könnte das mit den Umlauten liegen?

Sieht so aus:

sehr gute 185g Qualit?t, l?ssiger Schnitt, 100% BW, Aufdruck Spruch wei?
 
Hallo noch mal!

Die Lösung mit der Bildurl funktioniert nur im Firefox, habe ich gerade festgestellt. Was muss ich noch ändern, dass das Bild auch im IE angezeigt wird.

Danke!

PHP:
<? include ("header.php"); ?>
	
	<!-- CONTENT -->
	<div id="content">
	  
	  <div class="col3">
	    <div align="center">
	      <br />
	      <?php

if (file_exists('adt_daten.csv')) {
$Datei = fopen('adt_daten.csv','r');
$Zeile1 = fgets($Datei,9999);
$Zeile2 = fgets($Datei,9999);
$Zeile3 = fgets($Datei,9999);
$array3 = explode(";",$Zeile2);
fclose($Datei);
}

echo "<img src='$array3[4]' width='' height='' alt='Test' title='Test2' />";  


?>
 
Zurück