CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
22.03.2009, 10:00:41
|
Anfänger
|
|
Registriert seit: Feb 2009
Alter: 46
Beiträge: 12
|
|
problem beim auslesen eines array
Moin Moin,
hier erstmal mein code des Problems:
PHP-Code:
<html>
<head>
<title> Bild upload direkt aus dem Browser </title>
</head>
<form action="http://127.0.0.1/upload.php" enctype="multipart/form-data" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="10000000">
Wählen Sie eine Datei
<input type="file" name="image[]"> <br>
<input type="submit" value="hochladen">
</form> <br><br>
</body>
</html>
wenn ich nun versuche im upload.php die globale Variable $_FILES['image']['size'] auszulesen, bekomme ich immer nur Array als ausgabe Oo.
Ich möchte gern bilder in meiner mysql Datenbank in einem Blob Feld abspeichern.
Kann jemand den Fehler entdecken?
Grüsse
onomo
Geändert von Damir (24.03.2009 um 08:31:30 Uhr)
Grund: Verhaltensregeln im SELFPHP-Forum
|
22.03.2009, 11:09:21
|
|
Senior Member
|
|
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
|
|
AW: problem beim auslesen eines array
Ich sehe nur den HTML-Code aber keinen PHP Code, der irgend welche Werte ermitteln will bzw. anderweitig auf dieses Formular reagiert.
|
22.03.2009, 15:28:18
|
Anfänger
|
|
Registriert seit: Feb 2009
Alter: 46
Beiträge: 12
|
|
AW: problem beim auslesen eines array
Zitat:
Zitat von urvater
Ich sehe nur den HTML-Code aber keinen PHP Code, der irgend welche Werte ermitteln will bzw. anderweitig auf dieses Formular reagiert.
|
ok, dachte der sei eher unwichtig, also hier der php code:
PHP-Code:
<?
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'filmdatenbank';
/* Datenbankuser */
$db_user = 'xxxxx';
/* Datenbankpasswort */
$db_passwort = 'xxxxx';
/* Erstellt Connect zu Datenbank her */
$db = @ mysql_connect ( $db_server, $db_user, $db_passwort )
or die ( 'Konnte keine Verbindung zur Datenbank herstellen' );
$db_check = @ mysql_select_db ( $db_name );
if ( $db )
{
echo 'Verbindung zur Datenbank wurde hergestellt';
}
function upload()
{ $maxsize = $_POST['MAX_FILE_SIZE'];
if(is_uploaded_file($_FILES['image']['tmp_name']))
{
// check the file is less than the maximum file size
if($_FILES['image']['size'] < $maxsize)
{
// prepare the image for insertion
$imgData =addslashes (file_get_contents($_FILES['image']['tmp_name']));
// $imgData = addslashes($_FILES['image']);
// get the image info..
$size = getimagesize($_FILES['image']['tmp_name']);
echo '$size: '.$size.'<br>';
// our sql query
$sql = "INSERT INTO filmtitel
(idfilmtitel , Titel ,Original Titel, Genre, Soundtrack_idSoundtrack, Jahr, Cover)
VALUES
('','','','','','','{$imgData}')";
// insert the image
if(!mysql_query($sql))
{
echo 'Unable to upload file';
}
}
else {
// if the file is not less than the maximum allowed, print an error
echo '<br>Bildgröße überschreitet das Limit<br>';
echo 'Limit ist '.$maxsize.'<br>';
echo 'Dateigröße vom '.$_FILES['image']['name'].' ist '.$_FILES['image']['size'].'<br>';
}
}
}
if(!isset($_FILES['image']))
{
echo '<p>Bitte eine Datei auswählen</p>';
}
else
{
try
{
upload();
}
catch(Exception $e)
{
echo 'Fehler beim upload';
}
}
mysql_close();
?>
Geändert von vt1816 (23.03.2009 um 09:57:44 Uhr)
Grund: Verhaltensregeln im SelfPHP-Forum
|
23.03.2009, 14:12:34
|
|
Senior Member
|
|
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
|
|
AW: problem beim auslesen eines array
Wenn ich das jetzt alles richtig interpretiere baust du durch deine Namensgebung im Formularfeld 'image' ein mehrdimensionales Array auf. In deinem PHP Script gibts du aber nicht an, welches Array du innerhalb von 'image' auslesen willst.
Da du eh nur 1 Formularfeld zum Hochladen besitzt würde ich das Formular umbenennen.
HTML-Code:
<input type="file" name="image">
So sollte es ohne Änderung in PHP funktionieren.
Du kannst ja mal bevor du den Upload weiter verarbeitest einen var_dump oder print_r auf $_FILE setzen, dann siehst du was dir übergeben wird.
Geändert von urvater (23.03.2009 um 14:14:41 Uhr)
Grund: letzten Satz eingefügt
|
23.03.2009, 15:12:01
|
Anfänger
|
|
Registriert seit: Feb 2009
Alter: 46
Beiträge: 12
|
|
AW: problem beim auslesen eines array
Zitat:
Zitat von urvater
Wenn ich das jetzt alles richtig interpretiere baust du durch deine Namensgebung im Formularfeld 'image' ein mehrdimensionales Array auf. In deinem PHP Script gibts du aber nicht an, welches Array du innerhalb von 'image' auslesen willst.
Da du eh nur 1 Formularfeld zum Hochladen besitzt würde ich das Formular umbenennen.
HTML-Code:
<input type="file" name="image">
So sollte es ohne Änderung in PHP funktionieren.
Du kannst ja mal bevor du den Upload weiter verarbeitest einen var_dump oder print_r auf $_FILE setzen, dann siehst du was dir übergeben wird.
|
Danke, werde ich mal versuchen.
Ich hatte den Code von HIER und dachte ich muss das Feld image[] nennen um auf die verschiedenen Attribute, wie z.b. Name, Größe, Typ usw., des Images zugreifen zu können.
Edith fragt: Sind Daten vom Typ File grundsätzlich schon ein Array? Ein mehrdimensionales Array schaut in C nämlich so aus Arrayname[][]
Geändert von onomo (23.03.2009 um 15:13:47 Uhr)
|
23.03.2009, 18:19:15
|
Anfänger
|
|
Registriert seit: Feb 2009
Alter: 46
Beiträge: 12
|
|
AW: problem beim auslesen eines array
es läuft jetzt :) super danke.
jetzt hätte ich allerdings noch eine frage. ich möchte mir die bilder natürlich auch anzeigen lassen. dazu habe ich folgenden code:
PHP-Code:
<?php
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'filmdatenbank';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'lotus';
/* Erstellt Connect zu Datenbank her */
$db = @ mysql_connect ( $db_server, $db_user, $db_passwort )
or die ( 'Konnte keine Verbindung zur Datenbank herstellen' );
$db_check = @ mysql_select_db ( $db_name );
if ( $db )
{
if(isset($_GET['filmid']) && is_numeric($_GET['filmid']))
{
// get the image from the db
$sql = "SELECT cover FROM filmtitel WHERE idfilmtitel = ".$_GET['filmid'];
// the result of the query
$result = mysql_query("$sql") or die("Invalid query: " . mysql_error());
// set the header for the image
header("Content-type: image/jpeg");
echo $result['cover'];
// close the db link
mysql_close();
}
else {
echo 'Please use a real id number';
}
}
?>
allerdings ist es so, dass hier nichts angezeigt wird. der browser erkennt zwar, dass ein typ grafik erwartet wird, aber er zeigt nichts an.
bzw. es wird angezeigt: http://127.0.0.1/getpic.php?filmid=38
wobei die 38 von mir übergeben wurde als id und dort auch daten liegen im blob feld
Geändert von onomo (23.03.2009 um 18:22:36 Uhr)
Grund: zusatz letzte zeile
|
23.03.2009, 19:13:20
|
|
Senior Member
|
|
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
|
|
AW: problem beim auslesen eines array
Also $_FILE ist von Hause aus ein Array. Wegen deinem Anzeigeproblem: Wenn das Bild nur angezeigt wird, wenn du die ID händisch übergibtst, dann ist der generierte Link zur Grafik falsch.
Zur Zeit sehe ich aber nur den Insert und Select aber nicht, wie die $_GET['filmid'] erstellt wird.
|
24.03.2009, 06:27:12
|
Anfänger
|
|
Registriert seit: Feb 2009
Alter: 46
Beiträge: 12
|
|
AW: problem beim auslesen eines array
Zitat:
Zitat von urvater
Also $_FILE ist von Hause aus ein Array.
|
DANKE
Zitat:
Zitat von urvater
Wegen deinem Anzeigeproblem: Wenn das Bild nur angezeigt wird, wenn du die ID händisch übergibtst, dann ist der generierte Link zur Grafik falsch.
Zur Zeit sehe ich aber nur den Insert und Select aber nicht, wie die $_GET['filmid'] erstellt wird.
|
ich habe die upload.html um ein eingabefeld erweitert, in dem ich händisch die id eingebe.
den html code dazu kann ich erst nachher posten, bin am falschem pc.
edit:
HTML-Code:
<html>
<head>
<title> Bild upload direkt aus dem Browser </title>
</head>
<form action="http://127.0.0.1/upload.php" enctype="multipart/form-data" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="10000000">
Wählen Sie eine Datei
<input type="file" name="image"> <br>
<input type="submit" value="hochladen">
</form> <br><br>
<form action="http://127.0.0.1/getpic.php" enctype="multipart/form-data" method="GET">
Geben Sie die ID an
<input type="text" name="filmid"> <br>
<input type="submit" value="bild holen">
</form> <br><br>
</body>
</html>
das bild wird bisher garnicht angezeigt!
Geändert von onomo (24.03.2009 um 08:13:44 Uhr)
Grund: zusatz letzte zeile
|
24.03.2009, 12:00:27
|
Anfänger
|
|
Registriert seit: Feb 2009
Alter: 46
Beiträge: 12
|
|
AW: problem beim auslesen eines array
Problem gelöst.
Es musste lauten:
PHP-Code:
header("Content-type: image/jpeg");
echo mysql_result($result, 0);
vielen dank für die kompetente hilfe an urvater.
mfg
onomo
|
24.03.2009, 14:19:37
|
|
Senior Member
|
|
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
|
|
AW: problem beim auslesen eines array
Zitat:
Zitat von onomo
Problem gelöst.
Es musste lauten:
PHP-Code:
header("Content-type: image/jpeg");
echo mysql_result($result, 0);
vielen dank für die kompetente hilfe an urvater.
mfg
onomo
|
Wobei ich gestehen muß, daß ich an den Content-type nicht gedacht habe. Egal hauptsache es funktioniert.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 15:51:27 Uhr.
|