Probleme bei Datei upload

  • Themenstarter Themenstarter b_k
  • Beginndatum Beginndatum
B

b_k

Hilfe! Bin Anfänger und habe folgendes Problem: Auf dem einen Server funktioniert der Datei upload, auf dem nächsten nicht! :confused:

Der Code im ersten File:

<?php
include("../connect.inc.php");
$connID = connect_to_db();

print "<form enctype='multipart/form-data' action='Preisfileupload.php' method='post'>";
print "<strong>Neue Preisliste für Kies uploaden:</strong><br><br>";
print "Das Dokument muss <strong>'.pdf' - Format</strong> haben,<br><br>";
print "Dokument: <input type='hidden' name='MAX_FILE_SIZE' value='2000000'><input name='Preisdokument' type='file'><br>";
print "<input type='hidden' name='Kategorie' value='Kies'><br>";
print "<input type='submit' value='Dokument senden'>";
print "</form>";
?>

Der Code im zweiten:

<?php
echo "Ihr Dokument wurde gesendet! ";
$Kat = $_POST['Kategorie'];
$dokument = $_POST['Preisdokument'];
$Doc = $Kat;
$Doc .= ".pdf";
echo $Doc;
move_uploaded_file("$dokument", "../Preislisten/$dokument_name");
copy("../Preislisten/$dokument_name", "../Preislisten/$Doc");
echo "<a href=../Preislisten/$Doc target='blank'>Dokument ansehen</a>";
?>
 
Zuletzt bearbeitet von einem Moderator:
Ohne deinen Code jetzt gelesen zu haben - du sagst auf dem einen Server funktionierts auf dem anderen nicht - demnach gehe ich jetzt einfach mal davon aus das dein Code stimmt.

Es gibt Systeme bei denen PHP-Upload (z.B. mit Confixx) deaktiviert ist - ist mir auch schon mal so gegangen bis ich da drauf gekommen bin - frag einfach mal deinen Provider.

Ach ja noch was!
Bitte verwende für deine Code-Blöcke die Funktion für Codes im Editor dann wird PHP-Code mit dem korrekten Syntaxhiglight angezeigt.
Z.B. so:
PHP:
echo "Das ist ein String";
 
Zuletzt bearbeitet:
Da hänge ich mich doch gleich mal ran:
Habe nämlich ähnliches Problem...
Ich hab mir ein Script aus dem Netz gezogen zum Datenupload. Bei Xampp funktioniert es einwandfrei, auf dem Server kriege ich aber die Fehlermeldung: "Die Datei konnte nicht auf den Server geladen werden."
Hier ein Auszug aus dem Script:
PHP:
$filename = "";
if ($HTTP_POST_FILES['userfile']['tmp_name']<> 'none') {
   $file = $HTTP_POST_FILES['userfile']['name'];
   $temp = $HTTP_POST_FILES['userfile']['tmp_name'];
   $path_parts = pathinfo($file);
   $filename = time() . "." . $path_parts["extension"];
   if($HTTP_POST_FILES['userfile']['size'] <= $groessemax*1024) {
      if(decoct(fileperms($img_path_up))==40777) {
      if(@copy($temp, $img_path_up.$filename)) {
	 echo 'Datei ist auf den Server!';
      } else {
         echo 'Die Datei konnte nicht auf den Server geladen werden.';
      }
   } else {
      echo 'Der Upload Ordner hat keine Schreibrechte!';
   }
} else {
   echo 'Die Datei ist zu groß!';
}

Im Grunde hängt er ja am Befehl @copy($temp, $img_path_up.$filename). Der Pfad stimmt, ich kann mir den Inhalt des Ordners anzeigen lassen und über das gleiche Script auch Dateien löschen. Da macht mir das Skript keine Probleme. Der chmod ist 0777. Mein Provider erlaubt mir auch das Uploaden...
Vielleicht weiß ja jemand, wo mein verdammter Denkfehler liegt...

Nachtrag:
Hab mir jetzt mal ein paar der Variablen ausgeben lassen:
$path_parts[extension]:
$file:
$temp:
$filename: 1175586437.

Man sieht, alles ist leer. Weiß jemand, warum?
 
Zuletzt bearbeitet:
Falls es jemanden interessiert... Habs inzwischen selbst gelöst:
PHP:
$file = $HTTP_POST_FILES['was_auch_immer'];

muss heißen:

PHP:
$file = $_FILES['was_auch_immer'];

Also ohne HTTP_POST.
 
Zurück