ERLEDIGT
NEIN
NEIN
ANTWORTEN
10
10
ZUGRIFFE
245
245
EMPFEHLEN
-
17.09.08 12:17 #1
- Registriert seit
- Apr 2003
- Ort
- Klagenfurt/ Österreich
- Beiträge
- 15
Hallo zusammen!
Ich hab momentan ein rießen Problem mit nem mehrfachen Dateiupload.
Hier mal die Source:
Probleme gibt es 2:PHP-Code:<?php
if($_GET['action'] == "upload")
{
$uploaddir = "./gallery/";
$msg = "";
$i = 0;
foreach($_FILES["picture"] as $data)
{
if($_FILES["picture"] ["size"][$i] != 0)
{
if($_FILES["picture"] ["type"][$i] == "image/jpeg" || $_FILES["picture"] ["type"][$i] == "image/pjpeg" || $_FILES["picture"] ["type"][$i] == "image/gif")
{
if(move_uploaded_file($_FILES["picture"]["tmp_name"][$i], $uploaddir . $_FILES["picture"]["name"][$i]))
{
$msg .= "Bild ".$i." gespeichert<br>\n";
}
else
{
$msg .= "Bild ".$i." nicht gespeichert. Fehlercode:".$_FILES["picture"]["error"][$i]."<br>\n";
}
}
else
{
$msg .= "Bild ".$i." kein JPEG oder GIF<br>\n";
}
}
$i++;
}
}
?>
<form enctype="multipart/form-data" action="?tar=uploadpics&action=upload&id=<?php echo $_GET['id']; ?>" method="POST">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<?php
for($i=0;$i<10;$i++)
{
echo " <tr>\n";
echo " <td width='10%' align='left' valign='top'> </td>\n";
echo " <td width='90%' align='left' valign='top'><input type='file' name='picture[]' /></td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td width='10%' align='left' valign='top'> </td>\n";
echo " <td width='90%' align='left' valign='top'> </td>\n";
echo " </tr>\n";
}
?>
<tr>
<td width="10%" align="left" valign="top"> </td>
<td width="90%" align="left" valign="top"> </td>
</tr>
<tr>
<td width="10%" align="left" valign="top"><input type='hidden' name='MAX_FILE_SIZE' value='300000'></td>
<td width="90%" align="left" valign="top"><input type="submit" value="Bilder hochladen" /></td>
</tr>
</table>
<?php
echo $msg;
?>
1) Die Datei wird nicht hochgeladen, Fehlercode bekomme ich "0" zurück (was eigentlich bedeutet dass die Datei hochgeladen werden müsste...)
Ordner ist natürlich CHMOD 777
2) Nach dem fünften File bricht die Schleife ab, wieso auch immer, heißt also dass nur 5 Files die Schleife passieren danach ist schluss...
was mache ich falsch?
Vielen Dank im Vorraus =)
mfg
Tommy
-
Hallo,
du schreibstund arbeitest dann mit $_FILES["picture"] weiter...PHP-Code:foreach($_FILES["picture"] as $data)
MfG
-
18.09.08 00:23 #3
- Registriert seit
- Apr 2003
- Ort
- Klagenfurt/ Österreich
- Beiträge
- 15
nö hat damit gar nix zu tun.... hab schon alles probiert und kriegs nicht hin...
hab mir mal innerhalb der schleife $_FILES['picture'] ausgeben lassen, das kam dabei raus:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
Array ( [name] => Array ( [0] => artdel.gif [1] => catadd.gif [2] => news.gif [3] => shopping-cart-blue.gif [4] => artadd.gif [5] => artedit.gif [6] => catedit.gif [7] => [8] => [9] => ) [type] => Array ( [0] => image/gif [1] => image/gif [2] => image/gif [3] => image/gif [4] => image/gif [5] => image/gif [6] => image/gif [7] => [8] => [9] => ) [tmp_name] => Array ( [0] => /tmp/phpC9DIVN [1] => /tmp/phpBL0oBi [2] => /tmp/php0jP5gN [3] => /tmp/phpxB9MWh [4] => /tmp/phpE5YuCM [5] => /tmp/phpOicdih [6] => /tmp/phpAoTVXL [7] => [8] => [9] => ) [error] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 4 [8] => 4 [9] => 4 ) [size] => Array ( [0] => 331 [1] => 339 [2] => 214 [3] => 206 [4] => 341 [5] => 337 [6] => 339 [7] => 0 [8] => 0 [9] => 0 ) )
also passt alles... und dennoch gehts nicht
-
18.09.08 00:32 #4
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
18.09.08 00:38 #5
- Registriert seit
- Apr 2003
- Ort
- Klagenfurt/ Österreich
- Beiträge
- 15
Hab jetzt nochmal debugged.... Script geht bis zur
abfrage, dannach speichert er die bilder einfach nicht... und ich weiß einfach nich wieso...Code :1
if(move_uploaded_file ...
-
18.09.08 00:46 #6
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
ist display_errors auf "on" und error_reporting voll aufgedreht? Was steht in Deiner $msg-Variablen?
LGDa es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
18.09.08 00:58 #7
- Registriert seit
- Apr 2003
- Ort
- Klagenfurt/ Österreich
- Beiträge
- 15
-
18.09.08 01:00 #8
- Registriert seit
- Apr 2003
- Ort
- Klagenfurt/ Österreich
- Beiträge
- 15
display_errors ist in, error_reporting ebenfalls....
in meiner $msg steht wie folgt:
Code :1 2 3 4 5 6 7 8 9
Bild 0 nicht gespeichert. Fehlercode:0 Bild 1 nicht gespeichert. Fehlercode:0 Bild 2 nicht gespeichert. Fehlercode:0 Bild 3 nicht gespeichert. Fehlercode:0 Bild 4 nicht gespeichert. Fehlercode:0
suspekt auch dass nur 5 files durch die schleife wandern...
EDIT: oh oh oh.... error_reporting war aus... habs mal angemacht und folgendes kam raus:
usw...Warning: move_uploaded_file(http://www.vespaland.at/dev/bilder/artdel.gif) [function.move-uploaded-file]: failed to open stream: HTTP wrapper does not support writeable connections. in /var/www/5321034874/kdn-125-www/dev/admin/admin.class.php on line 802
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phplFoYeS' to 'http://www.vespaland.at/dev/bilder/artdel.gif' in /var/www/5321034874/kdn-125-www/dev/admin/admin.class.php on line 802
was heist das?Geändert von DJTommyB (18.09.08 um 01:02 Uhr)
-
18.09.08 01:12 #9
- Registriert seit
- Apr 2003
- Ort
- Klagenfurt/ Österreich
- Beiträge
- 15
so. hab mal versucht, das ganze in den ordner zu speichern in dem auch die datei liegt und es t... ist also scheinbar ein einfacher ordner fehler. mal versuchen zu ändern
-
18.09.08 09:48 #10
- Registriert seit
- Apr 2003
- Ort
- Klagenfurt/ Österreich
- Beiträge
- 15
so leute.
upload als solches geht wunderbar, einziges was ich immer noch nicht verstehe ist, wieso die schleife nur 5 mal durchgemacht wird... hier die aktuelle source
Bitte nochmals um HilfePHP-Code:<?php
if($_GET['action'] == "upload")
{
$msg = "";
$i = 0;
foreach($_FILES['picture'] as $data)
{
$id = $i+1;
$uploaddir = "bilder/";
#Prüfung ob Dateigröße größer als 0 ist
if($_FILES['picture']['size'][$i] != 0)
{
#Prüfen ob die hochgeladene Dateityp erlaubt ist
if($_FILES['picture']['type'][$i] == 'image/jpeg' || $_FILES['picture']['type'][$i] == 'image/pjpeg' || $_FILES['picture']['type'][$i] == 'image/gif')
{
#Datei verschieben
if(move_uploaded_file($_FILES['picture']['tmp_name'][$i], $uploaddir . $_FILES['picture']['name'][$i]))
{
$msg .= "Bild ".$i." gespeichert<br>\n";
$query = "INSERT INTO ".PICTURE_TABLE." (gallery_id,name,picture,date) VALUES ('".$_GET['id']."','".$_FILES['picture']['name'][$i]."','".$uploaddir . $_FILES['picture']['name'][$i]."','".time()."')";
if(mysql_query($query))
{
$msg .= "Bild ".$id." in Datgenbank verknüpft<br>\n";
}
else
{
$msg .= "Bild ".$id." nicht in Datgenbank verknüpft<br>\n";
}
}
else
{
$msg .= "Bild ".$id." nicht gespeichert. Fehlercode:".$_FILES['picture']['error'][$i]."<br>\n";
$msg .= "Uploadddir: ".$uploaddir."<br><br>";
}
}
else
{
$msg .= "Bild ".$id." kein JPEG oder GIF<br>\n";
}
}
else
{
$msg .= "Bild ".$id." wurde nicht ausgewählt<br>\n";
}
$i++;
}
?>
<form enctype="multipart/form-data" action="?tar=uploadpics&action=upload&id=<?php echo $_GET['id']; ?>" method="POST">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<?
for($i=0;$i<10;$i++)
{
$id = $i+1;
echo " <tr>\n";
echo " <td width='10%' align='middle' valign='top'>Bild ".$id.":</td>\n";
echo " <td width='90%' align='left' valign='top'><input type='file' name='picture[$i]' /></td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td width='10%' align='left' valign='top'> </td>\n";
echo " <td width='90%' align='left' valign='top'> </td>\n";
echo " </tr>\n";
}
?>
<tr>
<td width="10%" align="left" valign="top"> </td>
<td width="90%" align="left" valign="top"> </td>
</tr>
<tr>
<td width="10%" align="left" valign="top"><input type='hidden' name='MAX_FILE_SIZE' value='300000'></td>
<td width="90%" align="left" valign="top"><input type="submit" value="Bilder hochladen" /><br /><div class="footer">(Bitte nur einmal klicken und warten.)<br /><br /></div></td>
</tr>
</table>
<?
echo $msg;
?>Geändert von DJTommyB (18.09.08 um 09:50 Uhr)
-
18.09.08 16:22 #11
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
das liegt an der foreach-Schleife über $_FILES['picture']. Schau Dir mal weiter oben Deine Ausgabe davon an. Dieses Array hat immer genau 5 Elemente, ob Du jetzt 3 Dateien hochlädst oder 30. Du möchtest eine Schleife über eines dieser 5 Elemente machen.
LGDa es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
Ähnliche Themen
-
Probleme bei Dateiupload
Von Html im Forum PHPAntworten: 8Letzter Beitrag: 23.03.08, 01:39 -
Dateiupload mit PHP
Von Grunge im Forum PHPAntworten: 14Letzter Beitrag: 30.04.06, 15:32 -
PHP + MySQL DateiUpload-Probleme
Von Baron Sengir im Forum PHPAntworten: 15Letzter Beitrag: 22.02.06, 15:39 -
Dateiupload
Von Seven Secrets im Forum PHPAntworten: 7Letzter Beitrag: 03.10.03, 15:06 -
VB5 Dateiupload an PHP
Von sonline im Forum Visual Basic 6.0Antworten: 4Letzter Beitrag: 22.08.03, 17:30





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren