PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Bildupload funktioniert lokal, online aber nicht (http://www.selfphp.de/forum/showthread.php?t=12490)

8805-evergreen. 08.02.2006 15:44:42

Bildupload funktioniert lokal, online aber nicht
 
Gudn Tach...

hab hier ein Problem mit einem FileUpload.
Lokal funktioniert es tip top, aber sobald ich es online ausprobiere, scheitert er. Ebenso funktioniert die Funktion getimagesize() online nicht.

Mal vorne weg: Könnte das am php.ini File liegen?

Zudem hab ich den FCKeditor eingebunden, der ja ebenfalls über einen Fileupload verfügt. Dort funktioniert er...

Ich muss aber auch erwähnen, das ich nicht unbedingt ein PHP-Crack bin... könnte also auch ein Codefehler sein. Die Frage dabei wäre aber, wieso es dann lokal funktioniert!?

Bin froh über jeden Tip... das Script sollte bis morgen Donnerstag Abend finito und funktionstüchtig sein. Wäre sehr passend bald möglichst eine Antwort zu bekommen.

Thaaaanks und Gruss... beat

Reinfi 08.02.2006 15:49:21

AW: Bildupload funktioniert lokal, online aber nicht
 
Keine Antwort bis Donnerstag Abend ohne Code, ohne Fehlermeldungen, weil aktuell alle Glaskugeln damit beschäftigt sind den 3ten Weltkrieg vorrauszusehen.

8805-evergreen. 08.02.2006 16:00:57

AW: Bildupload funktioniert lokal, online aber nicht
 
Sir ja sir... =)

Jetz muss ich ma improvisieren... bin Member seit gerademal 15 Minuten.

der PHP schnipsel:

PHP-Code:

$size $_FILES['bild']['size'];
                
$typ $_FILES['bild']['type'];    
                                
                if(
$typ=="image/jpeg" || $typ=="image/pjpeg" || $typ=="image/bmp" || $typ=="image/gif")
                {
                    if(
$size>=50000)
                    {
                        echo 
"<br><br><span class='meldung'>Upload abgebrochen...<br>Die Bilddatei ist gr&ouml;sser als <b>50 Kb</b>! Kleineres Bild ausw&auml;hlen.</span> ";
                        echo 
"<br><br><a class='link' href='javascript:history.back()'>Zur&uuml;ck</a>";
                    }else{
                    
$name $_FILES['bild']['name'];    
                    
$lokal $_FILES['bild']['tmp_name'];
                    
$online " ** Pfad online **".$name;
                    
                    if(!
copy($lokal,$online))
                    {
                        echo 
$_FILES['bild']['error'];
                        echo 
"fehlgeschlagen";
                    }else
                    {                    
                    
$info getimagesize($online);
                    
                    if(
$info[0]>=460)
                        
$bildbreite 460;
                    else
                        
$bildbreite $info[0];

                    
$breite $info[0];
                    
$hoehe $info[1]; 

und so weiter und so fort.....

Eine Fehlermeldung gibt er mit echo $_FILES['bild']['error']; nicht aus. nur
eine 0.

Wie gesagt... lokal klappts, online nicht...

Opendix 08.02.2006 16:12:25

AW: Bildupload funktioniert lokal, online aber nicht
 
gibt getimagesize() auf dem server nichts zurück oder was heist "klappt nicht"?

der upload geht nicht... hmm... also wird dann bei dir eben dieses "fehlgeschlagen" ausgegeben oder sieht es so aus als ob es geklappt hat, aber nichts raufgeladen wurde?

öhm... warum das hier nicht funktioniert auf dem server weis ich auch nicht... würde aber mal wie im bsp auf www.php.net move_uploeded_file() anstatt von copy() verwenden...
http://ch2.php.net/features.file-upload

und warum gibst du erst anderen variabeln den wert von den $_FILES-Elementen und benutzt nicht gleich die werte aus $_FILES?

8805-evergreen. 08.02.2006 16:22:41

AW: Bildupload funktioniert lokal, online aber nicht
 
> und warum gibst du erst anderen variabeln den wert von den $_FILES-Elementen und benutzt nicht gleich die werte aus $_FILES?

was meinst du genau...?

getimagesize gibt einfach nichts zurück. Obwohl ich da den korrekten pfad genommen habe...

frage:

$name = $_FILES['bild']['name'];
$lokal = $_FILES['bild']['tmp_name'];
$online = " ** Pfad online **".$name;

muss ** Pfad online ** als http://www.... dargestellt werden, oder reicht z.B. ../UserFiles/... ?

mit move_uploaded_file() hab ich auch schon rumgespielt.
hat dann so ausgesehen: move_uploaded_file($local,$online);

auf php.net wird es so dargestellt: move_uploaded_file ( string filename, string destination )... sollte schon korrekt sein, den temporären pfad anzugenem, nicht nur den dateiname... oder?

Opendix 08.02.2006 16:52:03

AW: Bildupload funktioniert lokal, online aber nicht
 
mein link oben sollte deine frage mit dem pfad beantworten... da ist ja ein bsp. wie man das genau macht ;)

ich meinte damit, warum machst du $nam e= $_FEILS['bild']['name']; und benutzt dann nachher $name anstatt einfach immer $_FEILS['bild']['name'] zu verwenden?

zum getimagesize hier mnal ein link:
http://lists.phpbar.de/pipermail/php...10/015284.html

kA ob das dir hilft aber sieht nach deinem problem aus ;)

8805-evergreen. 08.02.2006 17:01:55

AW: Bildupload funktioniert lokal, online aber nicht
 
ja das mit dem pfad hab ich voreilig gefragt.

$_FILES['bild']['name']; hab ich immer geschreiben, weil ich so gerne code.. =) nun ja, nicht wirklich.... hast natürlich recht.

wie die funktion arbeitet kapier ich ja, lokal funktioniert es ja auch, einf online nicht....

hab den linkt gecheckd, geht aber eher um fehlerhafte JPG's... dies sind meine garantiert nicht.

nochmals zurück zum php.ini... könnte dort der bug liegen?

8805-evergreen. 09.02.2006 10:15:18

AW: Bildupload funktioniert lokal, online aber nicht
 
Hat niemand mehr ne idee?

8805-evergreen. 09.02.2006 14:17:07

AW: Bildupload funktioniert lokal, online aber nicht
 
Hey ho... hat wirklich niemand mehr ne Ahnung was nicht stimmen könnte?

Hier der Code nochmals (mit move_uploaded_file):

PHP-Code:


$size 
$_FILES['bild']['size'];
$typ $_FILES['bild']['type'];    
$name $_FILES['bild']['name'];    
$lokal $_FILES['bild']['tmp_name'];        
        
if(
$typ=="image/jpeg" || $typ=="image/pjpeg" || $typ=="image/bmp" || $typ=="image/gif")
{
if(
$size>=50000)
{
echo 
"failed";
}else{

$online "../UserFiles/Image/webad_01/".$name;            

echo 
$lokal."<br>";
echo 
$online."<br>";

if(
move_uploaded_file($local,$online))
{                
...
}else {
echo 
"failed";



Damir 09.02.2006 14:29:19

AW: Bildupload funktioniert lokal, online aber nicht
 
Hi,

ich habe jetzt gerade den ganzen Thread nicht vollstaendig gelesen (Zeitgruende) aber ich ahne was, was hier im Forum schon oefters diskutiert wurde.... Kann es sein, das PHP bei dir als Modul laeuft?????? Denn dann wird es so sein, das das Skript keine Rechte zum speichern hat, da es unter den Rechten vom Apache laeuft, die Dateien aber dem FTP-User gehoeren.......

Bye Damir


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:21:29 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.