Bilder für upload per ftp vorbereiten
meisterB
- php
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!
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
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
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
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