Upload Script

10/08/2013 11:28 DerSaboteur#1
Hey,

Ich kann mit diesem Script trotz 755/777 Berechtigung nicht auf meinem root/webspace hochladen? Könnte mir dort jemand bitte helfen? Das script funktioniert aber in xampp.

PHP Code:
<?php
$allowedFileSize 
1024*10024*10//10 MB
$uploadFolder dirname(__FILE__) . '/uploads/';
if (!empty(
$_FILES['myfile'])) { // wurde das Formular überhaupt abgeschickt
if ($_FILES['myfile']['error'] === 0) { //kein Fehler beim Upload
if (!file_exists($uploadFolder $_FILES['myfile']['name'])) { //eine Datei mit dem Namen existiert noch nicht
if ($_FILES['myfile']['size'] < $allowedFileSize) { // ist die Datei klein genug
if (preg_match('/.(jpe?g|gif|png|zip|pdf|docx|rar)$/i',$_FILES['myfile']['name'])) { // hat die Datei eine der folgenden Endungen (jpg, jpeg, gif, png, zip, pdf, docx, rar)
//keine fehler, dann verschiebe die Datei in meinen uploads-Ordner
if (is_uploaded_file($_FILES['myfile']['tmp_name'])) {
if (
move_uploaded_file($_FILES['myfile']['tmp_name'], $uploadFolder .
$_FILES['myfile']['name'])) {
$success 'Die Datei wurde hochgeladen';
} else {
$error 'Fehler beim Verschieben der Datei.';
}
} else {
$error 'Die Datei wurde nicht mittels HTTP-POST hochgeladen.';
}
} else {
$error 'Es sind nur folgende Dateiendungen erlaubt: jpg, jpeg, gif, png, zip, pdf, docx, rar';
}
} else {
$error 'Die Datei überschreitet die vom PHP-Script zugelassene Dateigröße.';
}
} else {
$error 'Eine Datei mit diesem Namen existiert schon.';
}
} else {
switch(
$_FILES['myfile']['error']){
case 
1// UPLOAD_ERR_INI_SIZE
$error 'Die Datei überschreitet die vom Server zugelassene Dateigröße.';
break;
case 
2// UPLOAD_ERR_FORM_SIZE
$error 'Die Datei überschreitet die vom Formular zugelassene Dateigröße.';
break;
case 
3// UPLOAD_ERR_PARTIAL
$error 'Die Datei wurde nur teilweise hochgeladen.';
break;
case 
4// UPLOAD_ERR_NO_FILE
$error 'Es wurde keine Datei hochgeladen.';
break;
}
}}
?>
als fehler kommt "Fehler: Fehler beim Verschieben der Datei."

Mfg DerSaboteur
10/08/2013 11:33 tolio#2
schau dir da mal die hinweise durch, vllt trifft ja was zu:
[Only registered and activated users can see links. Click Here To Register...]
10/08/2013 11:40 DerSaboteur#3
es kann ja eig nicht am script liegen bei xampp funktioniert das ja doch.. nur bei meinem root/webspace nicht..
10/08/2013 11:42 tolio#4
genau deswegen solltest du dir die hinweise anschauen, bei dem link da stehen extra sachen die mit der webspace konfiguration zutun haben können
10/08/2013 11:47 DerSaboteur#5
also das heisst das mein "webspace" safe mode Aktiv. hat? Muss ich selber das abschalten? oder server anbieter? bin besitzer vom Root.

€dit: phpinfo zeigt mir an das safe-mode OFF ist.
10/08/2013 20:31 Mikesch01#6
Gibt es diesen Pfad auf dem Webspace?

PHP Code:
$uploadFolder dirname(__FILE__) . '/uploads/'
10/08/2013 21:04 DerSaboteur#7
ja klar gibt es den ^^ habe meinen htdocs ordner natürlich komplett hochgeladen. und über xampp gehts ja ^^

sieht dann so aus aufem root

uploads (ordner)
upload.php
10/09/2013 08:00 Synatex#8
Error Reporting an? Ohne fehler kann man dir nicht helfen. Dateien und Ordner kannst du auch mit is_readable und is_writable vorher überprüfen und ggf. Nachbessern
10/09/2013 10:41 DerSaboteur#9
er zeigt mir garkeine fehler an..

es ist doch bestimmt möglich das über ein ftp upload zu machen? also von der website aus oder?
Das er in ftp einloggt und dann die daten hochläd wäre das vill effektiver?
10/09/2013 11:27 kissein#10
Quote:
Originally Posted by DerSaboteur View Post
er zeigt mir garkeine fehler an..
Apache Debugging Level in der httpd.conf auf Debug setzen und danach das errorlog ansehen

Quote:
Originally Posted by DerSaboteur View Post
es ist doch bestimmt möglich das über ein ftp upload zu machen? also von der website aus oder?
Das er in ftp einloggt und dann die daten hochläd wäre das vill effektiver?
Möglich ja, effektiver nein.
10/09/2013 11:35 DerSaboteur#11
warum nicht effektiver.. so will er ja die daten einfach nur auf dem server klatschen. aber mit einem ftp. loggt er sich ein erkennt es als ftp Upload (denk ich jetzt mal) und es ist 100%ig aufem Server. ich will ja nur ein upload für mich damit wenn ich in der schule bin die daten die ich dort habe zu mir selber schicken kann.
10/09/2013 19:38 Mikesch01#12
Schick dir selber eine E-Mail an die eigene E-Mail-Adresse ;)

Ansonsten müsste es über den Webspace per File-Upload gehen. Welchen Webspace-Anbieter hast du denn?
10/17/2013 13:16 .Shalom#13
Hier ein ganz einfaches Upload Script:

Code:
error_reporting(0);
$dateityp = GetImageSize($_FILES['datei']['tmp_name']);
if($dateityp[2] != 0)
{
if($_FILES['datei']['size'] <  333333)
{
mt_srand(time());
$random = mt_rand(0,999999999);
$copyright = "DEIN NAME";
move_uploaded_file($_FILES['datei']['tmp_name'], "ORDNER/".$copyright.$random.$_FILES['datei']['name']);
echo "<font face='Tahoma'><b>Das Bild </b>(".$copyright.$random.$_FILES['datei']['name'].")<b> wurde <font color='green'>erfolgreich</font> hochgeladen!";      
}
else
{
echo "Das Bild darf nicht größer als 3MB sein. Bitte versuch es nochmal.";
}
}
10/17/2013 17:07 Synatex#14
Quote:
Originally Posted by .Shalom View Post
Hier ein ganz einfaches Upload Script:

Code:
error_reporting(0);
$dateityp = GetImageSize($_FILES['datei']['tmp_name']);
if($dateityp[2] != 0)
{
if($_FILES['datei']['size'] <  333333)
{
mt_srand(time());
$random = mt_rand(0,999999999);
$copyright = "DEIN NAME";
move_uploaded_file($_FILES['datei']['tmp_name'], "ORDNER/".$copyright.$random.$_FILES['datei']['name']);
echo "<font face='Tahoma'><b>Das Bild </b>(".$copyright.$random.$_FILES['datei']['name'].")<b> wurde <font color='green'>erfolgreich</font> hochgeladen!";      
}
else
{
echo "Das Bild darf nicht größer als 3MB sein. Bitte versuch es nochmal.";
}
}
Wenn das produktiv irgendwo in Benutzung ist dann Halleluja.
10/18/2013 10:59 .Shalom#15
Quote:
Originally Posted by Synatex View Post
Wenn das produktiv irgendwo in Benutzung ist dann Halleluja.
Es läuft einwandfrei, es ist zwar sehr einfach gehalten, aber es läuft.