Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Dateien per Userinterface hochladen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Dateien per Userinterface hochladen


 
xxxStream
24-11-2006, 13:06 
 
Hi!

Ich habe das Tutorial "Dateien per Userinterface hochladen" durchgemacht, jedoch erscheint bei mir wenn ich eine Datei uploade lediglich eine lehre seite.

auf dem server läuft php in der version 5.2.0

Kann mir jemand bei diesem Problem helfen? Die Ordnerfreigaben habe ich gesetzt...

 
TobiaZ
24-11-2006, 14:02 
 
Wenn du uns mal ein bisschen mehr als die "weiße seite" lieferst, werden wir gerne versuchen dir zu helfen.

 
xxxStream
24-11-2006, 14:59 
 
naja wirklich mehr kann ich euch leider nicht sagen... Das Script gibt einfach keine Meldung aus...

Oder was meinst du genau mit "mehr Informationen"?

 
TobiaZ
24-11-2006, 15:09 
 
woher sollen wir nun wissen, was du falsch gemacht hast? wir kennen weder deinen code noch irgendwelche testausgaben.

ich gehe mal davon aus, dass du den code nicht einfach nur kopiert hast, sondern auch verstehst, was du da machst. dann überprüfe bitte stück für stück, ob der code auch das macht, was er soll. ob die datei korrekt hochgeladen wird, ...

wie sieht es denn bei dir mit register globals aus?

 
xxxStream
25-11-2006, 23:37 
 
Naja, nachdem der Code, den ich verwenden wollte nicht gefunkt hat, hab ichs mal mit dem Original-Code (wie im Tut) versucht. Hier gab's das gleiche Ergebnis...

die register_globals sind auf off... jedoch kann ich dies auf dem server nicht ändern... d.h. es funkt auf diesem server nicht, oder?

 
Benny-one
26-11-2006, 00:54 
 
Wenn das Tutorial der art schlecht ist, dass es auf register globals on programmiert ist, dann klappt es nicht. Aber es sollte ja kein Problem sein, das auf register globals off das Teil trotzdem funktioniert.

 
xxxStream
26-11-2006, 09:41 
 
ja aber dennoch erhalte ich nur die weiße seite... ich hab im mom wenig zeit, ich lad heud abend des script nochma aufn server, dann kann ich euch ma den link geben und ihr schauts euch einfach an (den code kann ich ja hier rein posten bzw. er is genau gleich wie der ausm tutorial, das mit meinem ja auch nicht gefunkt hat).

 
Benny-one
26-11-2006, 13:47 
 
Schon mal dran gedacht, das nichts ausgegeben werden soll??? Vll. soll das Teil wirklich nur hochladen.

 
xxxStream
26-11-2006, 21:04 
 
1. soll das "teil" was ausgeben, ist ja in den echo tags definiert und
2. wird auch keine datei hochgeladen, was ich ja mittels FTP überprüfen kann...

 
TobiaZ
26-11-2006, 21:08 
 
warten wir mal ab, bis du uns die seite zeigst und testausgaben machst. Bringt ja nichts, wenn wir mehr Zeit in DEIN Problem investieren als du. ;)

 
xxxStream
26-11-2006, 21:10 
 
Auch wieder wahr... ich lads hoch sobald ich meine Mails fertig hab.

 
xxxStream
26-11-2006, 21:29 
 
so, die testseite ist jetzt online...

svens.byto.de/uploadtest/

ich habe testweise jetzt einfach haargenau den Code aus dem Tutorial genommen, um alle Fehler auszuschließen.

<?php

function check_datei()
{
global $datei_name, $dateiname;
$backupstring = "copy_of_";
$dateiname = $backupstring."$dateiname";

if( file_exists($dateiname))
{
check_datei();
}
}

if(!empty($datei))
{
$dateiname = $datei_name;
if( file_exists($datei_name))
{
check_datei();
echo "Die Datei mit dem Dateinamen <b>$datei_name</b> existierte bereits.<br> Ihre Datei wurde in <b>$dateiname</b> umbenannt";
}
if($datei_size > $MAX_FILE_SIZE)
{
echo "Die Datei ist zu groß, die maximale Dateigr&ouml;sse beträgt $MAX_FILE_SIZE Byte(s)";
}
else
{
copy($datei,"$dateiname");
if( file_exists($dateiname))
{
echo "<br>Die Datei <b>$datei_name</b> wurde mit <b>$datei_size Byte</b> erfolgreich hochgeladen";
}
elseif(! file_exists($dateiname))
{
echo "Die Datei ist nicht vorhanden";
}
}
}

echo "Hier müsste eigentlich der Text erscheinen.";

?>

Ich habe den Quelltext lediglich mit der unteren Zeile ergänzt, um zu sehen, ob die seite überhaupt richtig geparst wird...

ich hoffe mal das bringt uns weiter...

 
TobiaZ
26-11-2006, 21:34 
 
und hast du auch nur eine der diversen if()-Bedingungen kontrolliert??? Nein, NATÜRLICH NICHT.

 
xxxStream
26-11-2006, 22:07 
 
sry, aber anscheinend bin ich einfach zu dumm um den fehler zu finden...

 
TobiaZ
26-11-2006, 22:12 
 
if(!empty($datei))

wo hast du $datei definiert und welchen Wert hat die variable?
Hint: Nirgendwo und keinen.

 
xxxStream
26-11-2006, 22:17 
 
Nuja, das klingt schon logisch...

allerdings habe ich dies ja aus dem tut... dann sollte dieses vll mal überarbeitet werden...



Kommen wir zum Teil des Uploads. Um zu verhindern, dass leere Dateizeilen an den Server gesendet werden, prüfen wir zunächst auf ein ausgefülltes Formular mittels der Funktion empty();

<?if(!empty($datei))
{
...
?>



das script geht jetzt einen schritt weiter, gibt jetzt allerdings den fehler

Warning: copy() [function.copy]: Unable to access in /home/svens/public_html/uploadtest/upload.php on line 33

liegt das an den schreibrechten? die hab ich eigentlich ja gesetzt...

danke schonmal für deine hilfe!

 
TobiaZ
26-11-2006, 22:21 
 
dann sollte dieses vll mal überarbeitet werden... Gerne, wenn wir hier die lösung erarbeitet haben (so wie in den anderen threads mit dem selben problem) darfst du dich egerne erkenntlich zeigen und es umschreiben.

nimm mal move_uploaded_file(), so stehts doch auch im Manual

 
xxxStream
26-11-2006, 23:21 
 
jop... aber des prob is dass ich in dieser funktion wieder die variable $datei benötige... welche muss ich hier einfügen?

move_uploaded_file($datei,"$dateiname");

 
TobiaZ
26-11-2006, 23:27 
 
die variable gibt es nicht!

 
xxxStream
26-11-2006, 23:29 
 
ja des is mir ja schon klar, aber welche muss ich an der stelle dann einfügen?

 
TobiaZ
26-11-2006, 23:33 
 
http://www.php.net/manual/de/features.file-upload.php

 
xxxStream
26-11-2006, 23:35 
 
thx da bin ich auch grad eben drauf gestoßen


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:53 Uhr.