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 29.01.2011, 13:06  
Neuer Benutzer
 
Registriert seit: 29.01.2011
Beiträge: 2
PHP-Kenntnisse:
Anfänger
iMorice befindet sich auf einem aufstrebenden Ast
Standard Bildupload funktioniert lokal aber online nicht!

Hallo Community,

Ich arbeite gerade an einem Bildupload für meine Website (www.imorice.de). Lokal funktioniert dieser auch einwandfrei, aber Online funktioniert das Skript auf einmal nicht mehr. Nachdem ich display_errors angeschalten habe, bin ich aber auch nicht wirklich schlauer, da das einzige was an Errors angezeigt wird, Folgefehler sind.

Hier mal zur Veranschaulichung:

Code:
<form enctype="multipart/form-data" action="includes/pictures/submit/upload_picture.php" name="upload" method="post">
	
	
	<label for="file"> Datei </label>
	<input type="file" name="file"><br />
	
	<h3> Folgende Galerien stehen zur Auswahl </h3>
	<select name="gallery">
		<?php 


		$datenbank = mysql_connect("localhost","",") or die ("Verbindung fehlgeschlagen!");
		$verbunden = mysql_select_db("") or die ("Datenbank nicht gefunden oder fehlerhaft");
				
		
		$abfrage = "SELECT name FROM gallery";
		$ergebnis = mysql_query($abfrage);
		
		while($row = mysql_fetch_object($ergebnis)){
		
			echo "<option>$row->name</option>";
		}
	?>
	</select>
	<label for="quality">Bildqualit&auml;t</label>
	<select name="quality">
		<option>10</option>
		<option>20</option>
		<option>30</option>
		<option>40</option>
		<option>50</option>
		<option>60</option>
		<option>70</option>
		<option>80</option>
		<option>90</option>
		<option>100</option>
	</select>
	
	<label for="size">Verkleinerungsfaktor (1 = keine Verkleinerung)</label>
	<select name="size">
		<option>0.1</option>
		<option>0.2</option>
		<option>0.3</option>
		<option>0.4</option>
		<option>0.5</option>
		<option>0.6</option>
		<option>0.7</option>
		<option>0.8</option>
		<option>0.9</option>
		<option>1</option>
	</select>
	<input type="submit" name="submit" value="Upload" />

</form>
Das HTML Formular übergibt die POST Variablen "gallery" "size" "quality" und eben die Datei "file". Ausgeführt wird dann folgendes Skript

PHP-Code:
<?php


    date_default_timezone_set
('Europe/Berlin');
        
    


    
$date date(d.m.Y);
    
$gallery $_POST['gallery'];
    
    
    
$ordner $_FILES['file']['tmp_name'];
    
$type $_FILES['file']['type'];
    
$name $_FILES['file']['name'];
    
$size $_FILES['file']['size'];
    
$quality $_POST['quality'];
    
$neuer_pfad "../../../../images/galleries/$gallery/$name";
    
        
        
        
$name $_FILES['file']['name'];
        
$tmp $_FILES['file']['tmp_name'];
        
$destination_tmp "../../../../images/galleries/$gallery/$name";
        
$verkleinert "../../../../images/galleries/$gallery/verkleinert_$name";
        
        
        
        
$move copy($tmp$destination_tmp);
        
        if(
$move == true){
            echo 
"Bild erfolgreich verschoben!<br />";
        }
        else{
            echo 
"Verschieben des Bilds fehlgeschlagen<br />";
        }
        
        
$image getimagesize($destination_tmp);
        
        
        
// The file
        
$filename $destination_tmp;
        
$percent $_POST['size'];
        list(
$width$height) = getimagesize($filename);
        
    
        
        

        
        
// Get new dimensions
        
        
$new_width $width $percent;
        
$new_height $height $percent;
        
        
        
// Resample
        
$image_p imagecreatetruecolor($new_width$new_height);
        
$image imagecreatefromjpeg($filename);
        
imagecopyresampled($image_p$image0000$new_width$new_height$width$height);
        
        
// Output
        
imagejpeg($image_p$destination_tmp$quality);
        
        
        
                
$datenbank mysql_connect("localhost","","") or die ("Verbindung fehlgeschlagen!");
                
$verbunden mysql_select_db("") or die ("Datenbank nicht gefunden oder fehlerhaft");
                    
                
$insert mysql_query("INSERT INTO images ( name, gallery, date ) VALUES ( '$name', '$gallery', '$date' )");
                
                if (
$insert){
                
                    echo 
"Erfolgreich in die Datenbank eingef&uuml;gt! <br />";
                }
                else
                {
                    echo 
"Da ist wohl etwas schief gelaufen..<br />";
                }
                
                
        
        
        
        
        
                        
                        
      
      
      






?>


<script>
    setTimeout("self.location.href='../../../../admin'",1000);
</script>
Dieses Skript soll eben die hochgeladene Datei nach $gallery kopieren und diese Dort verkleinern.

Lokal funktioniert alles ohne Probleme nur Online funktioniert eben die Funkion copy() nicht mehr... Anfangs habe ich move_uploaded_file verwendet, allerdings mit dem gleichen Ergebnis.

Hier noch die Fehlermeldung die ich online bekomme (Von den Notizen wollen wir uns mal nicht verwirren lassen)

Notice: Use of undefined constant d - assumed 'd' in /srv/www/htdocs/web227/html/admin/includes/pictures/submit/upload_picture.php on line 9

Notice: Use of undefined constant m - assumed 'm' in /srv/www/htdocs/web227/html/admin/includes/pictures/submit/upload_picture.php on line 9

Notice: Use of undefined constant Y - assumed 'Y' in /srv/www/htdocs/web227/html/admin/includes/pictures/submit/upload_picture.php on line 9
Verschieben des Bilds fehlgeschlagen

Warning: getimagesize(../../../../images/galleries/Volleyball/12,1.jpg) [function.getimagesize]: failed to open stream: No such file or directory in /srv/www/htdocs/web227/html/admin/includes/pictures/submit/upload_picture.php on line 38

Warning: getimagesize(../../../../images/galleries/Volleyball/12,1.jpg) [function.getimagesize]: failed to open stream: No such file or directory in /srv/www/htdocs/web227/html/admin/includes/pictures/submit/upload_picture.php on line 44

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /srv/www/htdocs/web227/html/admin/includes/pictures/submit/upload_picture.php on line 58

Warning: imagecreatefromjpeg(../../../../images/galleries/Volleyball/12,1.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in /srv/www/htdocs/web227/html/admin/includes/pictures/submit/upload_picture.php on line 59

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /srv/www/htdocs/web227/html/admin/includes/pictures/submit/upload_picture.php on line 60

Warning: imagejpeg(): supplied argument is not a valid Image resource in /srv/www/htdocs/web227/html/admin/includes/pictures/submit/upload_picture.php on line 63
Erfolgreich in die Datenbank eingefügt!

Danke schonmal im Vorraus für eure Hilfe!

Geändert von iMorice (29.01.2011 um 13:17 Uhr).
iMorice ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 29.01.2011, 13:14  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

isset
realpath
http://www.php.net/manual/de/language.types.php

PHP-Code:
destination_tmp "../../../../../../../../../../../../../oh/mein/gott/ob/das/lokal/und/auf/dem/server/auch/so/aussehen/sollte"
würd mich doch sehr wundern wenn dein php-code da oben lokal funktioniert
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 29.01.2011, 13:21  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
da das einzige was an Errors angezeigt wird, Folgefehler sind.
Kein Grund, die nicht erstmal zu beheben. Ansonsten tippe ich auf fehlende Zugriffsrechte.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 29.01.2011, 13:25  
Neuer Benutzer
 
Registriert seit: 29.01.2011
Beiträge: 2
PHP-Kenntnisse:
Anfänger
iMorice befindet sich auf einem aufstrebenden Ast
Standard

Habe die Rechte der Ornder alle auf 777 gestellt. Der Upload hat vor 2 wochen auch schonmal funktioniert
Nicht funktionieren tut ja nur die Funktion copy(); nicht und deswegen kommen ja die Fehler mit getimagesize, weil ich getimagesize() von der kopierten bzw verschobenen Datei will!

Das funktioniert Lokal wirklich, da musst du dich wohl wundern
iMorice ist offline   Mit Zitat antworten
Alt 29.01.2011, 13:30  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Die "Folgefehler" sagen Dir jedenfalls, dass Du mal Energie in Fehlerbehandlung stecken solltest. Einfach davon auszugehen, dass schon alles funktionieren wird ist grob fahrlässig.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 29.01.2011, 13:34  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

PHP-Code:
$date date(d.m.Y); 
Du setzt da 3 Konstanten ein die nicht definiert sind

bei deinem image-verkleinern rate ich dir dringends nicht das grad kopierte destination file zu nehmen, sondern die hochgeladene datei aus dem temp ordner, da der copy()-Befehl eine File System Anweisung ist, diese können je nach belastung des systems unter umständen verspätet abgearbeitet werden, so das du mit deinem image_jpg auf eine datei zugreifst die noch garnicht vorhanden ist ( copy() quasi überholst )
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 29.01.2011, 14:04  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Wobei date() mittlerweile eine StrictStandards-Notice wirft. Daher lieber die DateTime-Klasse verwenden:
PHP-Code:
$date = new DateTime('now', new DateTimeZone('Europe/Berlin'));
echo 
$date->format('d.m.Y'); 
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
Albert Einstein
Arne Drews 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
[Erledigt] Freies MMORPG Espadon Online sucht Programmierer Espadon PR Beitragsarchiv 6 29.11.2009 15:23
Scriptsuche Online User CEDO Scriptbörse 3 11.05.2009 08:32
Bildupload in CMS funktioniert nicht soffi PHP Tipps 2009 18 10.01.2009 18:24
Rekursive Funktion funktioniert lokal, aber nicht remote? Anotherone PHP-Fortgeschrittene 1 21.06.2008 08:11
Bildupload funktioniert beim Provider nicht maulwurf PHP Tipps 2008 6 27.09.2007 17:23
Session funktioniert nicht bei session.use_cookies = Off Quagga PHP Tipps 2007 13 13.01.2007 18:27
PEAR Paket Services_Weather -> geht Offline, nicht online PsychoEagle PHP Tipps 2007 13 22.12.2006 08:48
Lokal funktioniert alles -> auf Server fast nichts PsychoEagle Datenbanken 2 14.08.2006 08:43
ermitteln wer online ist Funky_ PHP Tipps 2006 4 10.08.2006 12:13
schleife funktioniert nicht?! $$$ ThiKool $$$ PHP Tipps 2006 3 18.07.2006 07:52
index.php?cmd=alt funktioniert lokal nicht PHP Tipps 2007 4 11.11.2005 13:35
Nach Einfügugng der Sessions funktioniert mein Program nicht PHP-Fortgeschrittene 1 02.10.2005 06:13
Suche Script zum anzeigen wer gerade Online ist Beitragsarchiv 7 02.03.2005 20:24
Problem: Bildupload und Größenänderung geht nur lokal PHP Tipps 2004 4 08.08.2004 18:00

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php image funktionen funktionieren online nicht, settimeout funktioniert lokal aber online nicht, verkleinern datei bei bildupload php, imagecreatefromjpeg remote bild, getimagesize funktioniert nicht, fehler weil die date_default_timezone_set nicht definiert, php notice: use of undefined constant europe - assumed \'europe\' in date_default_timezone_set, php upload file percent -ajax, http://www.php.de/php-einsteiger/76697-bildupload-funktioniert-lokal-aber-online-nicht.html, mmorpg

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:58 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