meisterB: Bilder für upload per ftp vorbereiten

Hallo Leute, ich hab ein kleines Problem. Ich möchte eine Datei pe fp hochladen. Das klappt einwandfrei. Nun möchte ich alle dateien auf eine bestimmte Breite bingen.
Hier das Script!
<?
echo $Datei;
$FTPServer = "localhost";
$FTPUser = "upload";
$FTPPasswd = "12345";

$VerbindungsID = ftp_connect($FTPServer);
$Login = ftp_login($VerbindungsID, $FTPUser, $FTPPasswd);
if($VerbindungsID && $Login)
{
  $size=getimagesize($datei);
  $breite=$size[0];
  $hoehe=$size[1];

if($breite <> 500)
  {
   $neueBreite=500;
   $neueHoehe=intva($hoehe*$neueBreite/$breite);
   $bildgroesse_veraendern = true;
   }

elseif(($size[2]==2) && $bildgroesse_veraendern)
  {
  // JPG
  $altesBild=ImageCreateFromJPEG($datei);
  $neuesBild=ImageCreate($neueBreite,$neueHoehe);
  ImageCopyResized($neuesBild,$datei,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);

Und jetzt kommt das Problem:
Wie bekommen ich die Datei aus dem Arbeitsspeicher auf den ftp???

$datneu=ImageJPEG($neuesBild);

$Erfolg = ftp_put($VerbindungsID, "bild.jpg", $datneu, FTP_BINARY);
   }
  }
if(!$Erfolg)
  echo "Die Datei wurde nicht hochgeladen!";
else
  echo "Die Datei wurde gespeichert.";
ftp_close($VerbindungsID);
?>

Für Hilfe bin ich wie immer dankbar!

  1. hi,

    Und jetzt kommt das Problem:
    Wie bekommen ich die Datei aus dem Arbeitsspeicher auf den ftp???

    in dem du sie erst mal auf platte ablegst - und diese datei dann per FTP überträgst?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Mmm, kann ich das auf der Clientplatte noch machen?? Da müßte ich den Temp-Pfad in seine BEstandteile zerlegen, bzw. generell in den Client Temp ablegen?!? Odää?

      MFG Sebastian

      hi,

      Und jetzt kommt das Problem:
      Wie bekommen ich die Datei aus dem Arbeitsspeicher auf den ftp???

      in dem du sie erst mal auf platte ablegst - und diese datei dann per FTP überträgst?

      gruß,
      wahsaga

      1. Hello,

        Wie bekommen ich die Datei aus dem Arbeitsspeicher auf den ftp???

        in dem du sie erst mal auf platte ablegst - und diese datei dann per FTP überträgst?

        Mmm, kann ich das auf der Clientplatte noch machen?? Da müßte ich den Temp-Pfad in seine
        BEstandteile zerlegen, bzw. generell in den Client Temp ablegen?!? Odää?

        Das kannst Du auf der Platte des FTP-Clients, der ja HTTP-Server ist, noch machen.

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
  2. Hello,

    ImageCopyResized($neuesBild,$datei,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);

    Und jetzt kommt das Problem:
    Wie bekommen ich die Datei aus dem Arbeitsspeicher auf den ftp???

    $datneu=ImageJPEG($neuesBild);

    http://de3.php.net/manual/de/function.imagejpeg.php

    Der Fehler liegt in der Anwendung von imageJPEG().
    Die Funktion liefert einen Fehlerwert zurück und erzeugt eine Datei mit dem Namen, den man ihr übergeben hat. Wenn Du keinen Dateinamen angibst, dann wird die Standardausgabe stattdessen benutzt. das wäre hier der "Browser-Kanal". Der ist aber hier falsch.

    Also lies Dir das Manaual nochmal durch, dann klappts auch mit der Dateierzeugung ;-))

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau