Mehrere Bilder uploaden

dezz

Mitglied
Hallo,
ich hab ein Problem mit dem Hochladen von mehreren Bildern.
Eins klappt mit dem Code:
ftp.php
PHP:
 <?php

        $ftp_server = ftp_connect("$server");
        $login = ftp_login($ftp_server, "$name", "$pass");
        $file = "$_POST[Ordner]". $_FILES['datei']["name"];

        if (!$ftp_server) 
        {
            die("Keine Verbindung zum FTP-Server");
        }
        
        else if (!$login) 
        {
            die("Login fehlgeschlagen.");
        }

        if($login AND $ftp_server)
        {
                $upload = ftp_put($ftp_server, $file, $_FILES['datei']['tmp_name'], FTP_BINARY);
                if($upload)
                {
                    echo"Datei erfolgreich hochgeladen!";
                }
                else
                {
                    echo"Fehler beim Upload.";
                }
                ftp_quit($ftp_server);
        }

        
        
?>

upload.php
HTML:
<form action="ftp.php" enctype="multipart/form-data" method="POST">   
Dateiauswahl 
<input name="datei" type="file" size="50" maxlength="1024" accept="text">
Verzeichnis<br> 
<input type="text" name="Ordner">Ordner <br>
<input type="submit" name="send" value="send"> 
</form>
Habe es mit for und foreach Schleifen versucht (lade später hoch)

Falls jemand einen Vorschlag hat, wie man das lösen kann, bitte posten :)
 
Warum arbeitest du mit den FTP Funktionen und nicht mit dem internen Upload von PHP?

Ansonsten würde ich vermuten, dass du Unstimmigkeiten in der Ausführung der Schleife hast und es deshalb fehlschlägt.
 
Die Bilder werden nicht auf mein Server geladen, deswegen FTP Funktionen :)
Hatte heute Zeit für des. Habs auch geschafft:

PHP:
        $count = count($_FILES['bilder']['name']);
        for($t=0; $t <= ($count); $t++)
        {
        $tmp_filename = $_FILES["bilder"]["tmp_name"]["$t"];
        $name_of = $_FILES["bilder"]["name"]["$t"];

        $ftp_server = ftp_connect("$ftp_a[server]");
        $login = ftp_login($ftp_server, "$ftp_a[name]", "$ftp_a[password]");
        $file = "$ftp_a[path]". $name_of;

        if (!$ftp_server ) 
        die("Verbindung wurde nicht hergestellt.");
        
        if (!$login) 
        die("Der Loginvorgang ist fehlgeschlagen.");
          


        $upload = ftp_put($ftp_server , $dateiname, $tmp_filename, FTP_BINARY);
        if($upload) 
                { 
                    echo"Datei erfolgreich hochgeladen!"; 
                } 
                else 
                { 
                    echo"Fehler beim Upload."; 
                } 
        ftp_quit($ftp_server); 
        }

Dennoch eine Frage, gibt es sowas wie "isset($_FILES[...])", sodass man die ausgewählten Felder zählen kann?
 
Also ich hab genau das gleiche Problem.

PHP:
<?php
$imgdir = "../gfx/img/album/";
/** Upload Image *********************************************/
if (is_array($_FILES) && $_POST["save"])
{	
	for ($img = 0; $img < count($_FILES["album_img"]["tmp_name"]); $img++)
	{
		print $_FILES["album_img"]["tmp_name"];
		move_uploaded_file($_FILES["album_img"]["tmp_name"],$imgdir. $_FILES["album_img"]["name"]);
	}
}
?>
<table border="0" width="100%" cellpadding="2" cellspacing="1">
	<tr>
    	<td width="20%" align="right">Album:&nbsp;</td>
        <td>
        	<select name="alb_search">
            	<option value="">--- Bitte w&auml;hlen. ---</option>            
            </select>
        </td>
    </tr>
    <tr>
    	<td align="right">Anzahl der Bilder:&nbsp;</td>
        <td><input type="text" name="img_anz" style="width:50px;" />&nbsp;<input name="save_anz" type="submit" value="Anlegen" /></td>
    </tr>
<?php 
	if ($_POST["save_anz"] && $_POST["img_anz"] > 0)
	{
		for ($albimg = 0; $albimg < $_POST["img_anz"]; $albimg++)
		{		
?>	
    <tr>
    	<td align="right">Bild:&nbsp;<?=$albimg +1;?></td>
        <td><input type="file" name="album_img[]"></td>    	
    </tr>
<?php 
		}
?>
	<tr>
    	<td>&nbsp;</td>
        <td align="left">&nbsp;</td>
    </tr>
<?php
	}
?>
    <tr>
    	<td align="right">&nbsp;</td>
        <td align="left"><input type="submit" name="save" value="Speichern" /></td>
    </tr>
    <tr>
    	<td colspan="3">
        <br />
		<div align="center" style="color:<?=$mes_color;?>; font:bold;"><?=$message;?></div>
		<br />
        </td>
    </tr>
</table>

Kann Mehrere Felder durch die for schleife erstellen aber ich kriege sie nicht auf mein server raufgeladen. kann mir da einer helfen?

Also muss dazu sagen das ich noch nicht so gut bin in php und noch Ruexprmentiere und gerne was alleine machen will und nicht was schon von irgend jemand gibt.
 
Zuletzt bearbeitet:
Zurück