php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.12.2011, 15:34  
Neuer Benutzer
 
Registriert seit: 09.12.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
ThomasBreinst befindet sich auf einem aufstrebenden Ast
Standard BildUpload

Hi,
mache gerade eine Website für ein Kino. Dafür benötige ich einen Bilduploada
Formular und Bild weitergeben war so weit ja kein Problem
Jetzt möchte ich allerding das Bild mittels PHP-FTP auf den Server kopieren
Verbinden mit dem Server funktioniert noch, allerdings wirds das Bild nie mit hochgeladen

Hier der Quellcode:

PHP-Code:
<?php
//Variablen festlegen

$max_byte_size 1000000;
$allowed_types "(jpg|jpeg|gif|bmp|png|)"

//FTP-Variablen
$ftp_server "ftp.meineseite";
$connection_id ftp_connect($ftp_server);
$benutzername "bn";
$passwort "pw";
$login_result ftp_login($connection_id$benutzername$passwort);

//Verbindung zum FTP-Server
$connection_id ftp_connect($ftp_server);

// Mit Benutzername und Kennwort anmelden
$login_result ftp_login($connection_id$benutzername$passwort);


// Formular wurde abgeschickt 
if($_POST["submit"] == "Upload") { 

// Wurde wirklich eine Datei hochgeladen? 
if(is_uploaded_file($_FILES["file"]["tmp_name"])) { 

// Gültige Endung? ($ = Am Ende des Dateinamens) (/i = Groß- Kleinschreibung nicht berücksichtigen) 
if(preg_match("/\." $allowed_types "$/i"$_FILES["file"]["name"])) { 

// Datei auch nicht zu groß 
if($_FILES["file"]["size"] <= $max_byte_size) { 

// Alles OK -> Datei kopieren 
if(copy($_FILES["file"]["tmp_name"], "html/bilder/" .$_FILES["file"]["name"])){  
$bildname $_FILES["file"]["name"];


else { 
$error1 "Datei konnte nicht hochgeladen werden."



else { 
$error2 "Die Datei darf nur eine Größe von " $max_byte_size " Byte besitzen."



else { 
$error3 "Die Datei besitzt eine ungültige Endung."



else { 
$error4 "Keine Datei zum Hochladen angegeben."



else { 
$error5 "Bitte benutzen Sie das Upload Formular."

$error "";
$error $error1 .$error2 .$error3 .$error4 .$error5;
if (
$error <> "") { echo ("Folgende Fehler sind aufgetreten: <br>$error"); } 
else 
{
echo (
"Folgendes Bild wurde abgeloadet.<br>");
$link "bilder/galerie/" .$bildname;
echo (
"<a href='$link'>$bildname</a>");
}

 
// Schließen der Verbindung
ftp_quit($connection_id);
?>
Vielleicht hat jemand von euch eine Antwort für mich, wäre super
Danke im vorraus!
lg thomas

Geändert von ThomasBreinst (09.12.2011 um 16:27 Uhr).
ThomasBreinst ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 09.12.2011, 15:41  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Zum einen: Benutz bitte die PHP Code Tags () zur Codeformatierung.

Zum anderen: Editier die Zugangsdaten zum FTP Server aus dem Post (!)

Zum Dritten: Nirgends ist zu erkennen, das du das Bild auch auf den FTP Server hochlädst (ftp_put)
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 09.12.2011, 16:33  
Erfahrener Benutzer
 
Benutzerbild von jspit
 
Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse:
Anfänger
jspit wird schon bald berühmt werden
Standard

Verstehe ich die Aufgabe richtig ?
Du machst ein Bild-Upload. Dann ist das Bild schon auf dem Server. Du möchtest es dann das Bild auf einen 2.Server per FTP kopieren ?
Warum dann nicht gleich ein Upload auf Server 2 ?
jspit ist offline   Mit Zitat antworten
Alt 09.12.2011, 16:50  
Neuer Benutzer
 
Registriert seit: 09.12.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
ThomasBreinst befindet sich auf einem aufstrebenden Ast
Standard

Danke erstmal
Wo wäre es denn am sinnvollsten die ftp put funktion hinzugeben-> anstatt von copy?

Also Ziel ist es, das Bild auf den Server zu laden, mit copy möchte ich das Bild in ein bestimmtes Verzeichnis kopieren
ThomasBreinst ist offline   Mit Zitat antworten
Alt 09.12.2011, 21:46  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

copy arbeitet nur auf dem (server-)lokalen Dateisystem.

Zitat:
Du machst ein Bild-Upload. Dann ist das Bild schon auf dem Server. Du möchtest es dann das Bild auf einen 2.Server per FTP kopieren ?
Warum dann nicht gleich ein Upload auf Server 2 ?
Kann ja sein, das auf dem 2. Server kein Webserver werkelt, sondern nur ein FTP Server.
Client (Browser) -> Server (Webserver/PHP) -> Server (FTP) ist in dem Sinne schon richtig.

Zitat:
Wo wäre es denn am sinnvollsten die ftp put funktion hinzugeben-> anstatt von copy?
Yep. Oder aber im if-Block hinter dem copy, dann verbleibt eine Kopie der Datei auf dem Webserver im "html/bilder" Verzeichnis.
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 10.12.2011, 11:46  
Neuer Benutzer
 
Registriert seit: 09.12.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
ThomasBreinst befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
// Alles OK -> Datei kopieren  
if(copy($_FILES["file"]["tmp_name"], "html/bilder/" .$_FILES["file"]["name"])){   
$bildname $_FILES["file"]["name"]; 
ftp_put ($connection_id$_FILES["file"]["tmp_name"], $_FILES["file"]["tmp_name"], FTP_BINARY);


habe diesen if Block jetzt um die ftp_put funktion erweitert, funktioniert aber immer noch nicht.
Browser wirft immer die erste Fehlermeldung aus: Datei konnte nicht hochgeladen werden
ThomasBreinst ist offline   Mit Zitat antworten
Alt 10.12.2011, 12:17  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Dann ab ans Debuggen. Erstmal solltest du herausfinden, wohin genau versucht wird, zu kopieren und ob Schreibrechte dafür vorhanden sind:
PHP-Code:
var_dump(realpath("html/bilder/"), is_writable("html/bilder/")); 
fab ist offline   Mit Zitat antworten
Alt 10.12.2011, 12:41  
Neuer Benutzer
 
Registriert seit: 09.12.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
ThomasBreinst befindet sich auf einem aufstrebenden Ast
Standard

ok das habe ich jetzt versucht.
Jetz kommt folgende Meldung:
string(25) "/var/www/kd56/html/bilder" bool(false)

heißt das jetz also das ich nicht die Rechte besitze um diesen Pfad zu beschreiben?

Geändert von ThomasBreinst (10.12.2011 um 12:52 Uhr).
ThomasBreinst ist offline   Mit Zitat antworten
Alt 10.12.2011, 12:52  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Dann schau mal, wann realpath false zurückgibt und überlege, was das zu bedeuten hat: http://de.php.net/realpath
fab ist offline   Mit Zitat antworten
Alt 10.12.2011, 13:04  
Neuer Benutzer
 
Registriert seit: 09.12.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
ThomasBreinst befindet sich auf einem aufstrebenden Ast
Standard

aber realpath gibt doch einen Wert zurück? oder verstehi ich das falsch?
bool false --> kommt doch von is_writable?
und das würde doch bedeuten, dass ich dieses verzeichnis nicht beschreiben kann, darf

hoffe ich versteh das nicht völlig falsch
lg
ThomasBreinst ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ordnerrechte ändern für bildupload pfump PHP Einsteiger 18 04.05.2011 08:06
Bildupload funktioniert lokal aber online nicht! iMorice PHP Einsteiger 6 29.01.2011 14:04
Problem mit Bildupload Script calimero87 PHP Tipps 2009 3 23.10.2010 22:22
Bildupload mit Einschränkung. Extremefall PHP Tipps 2010 9 24.01.2010 19:16
Scriptsuche Bildupload markbraue Scriptbörse 7 02.11.2009 13:12
Bildupload Inaliii PHP Tipps 2009 10 23.10.2009 13:58
[Erledigt] Problem beim Thumbnail erstellen beim Bildupload litterauspirna PHP Tipps 2009 14 21.09.2009 14:58
dynamischer Bildupload + -validierung Knutschi PHP Tipps 2009 12 11.05.2009 22:28
Bildupload in CMS funktioniert nicht soffi PHP Tipps 2009 18 10.01.2009 18:24
Bildupload spinnt jovi PHP Tipps 2008 1 13.03.2008 11:26
Bildupload mit Bildeditiermöglichkeit clemens Scriptbörse 3 03.12.2007 10:31
Problem mit Bildupload 2wuck PHP Tipps 2006 2 03.07.2006 07:05
Bildupload bzw auslesen klappt nicht mehr! Broadcast PHP Tipps 2006 5 29.05.2006 14:44
Problem beim Bildupload/ Thumbnailerstellen imported_FlasH PHP Tipps 2006 2 02.03.2006 08:12
Bildupload & Wasserzeichen Beitragsarchiv 2 07.12.2004 13:07

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
bilduploader error5, datei besitzt eine ungültige endung, bildupload verbindung zum server

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:32 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum