ZIP-Datei auf Server speichern
Hallo ihr Administratoren,
ich möchte eine ZIP-Datei auf einem Server speichern. Dabei habe ich schonmal diesen Code:
Aber als Servermeldung bekomme ich immer error. Wo ist der Fehler?
ich möchte eine ZIP-Datei auf einem Server speichern. Dabei habe ich schonmal diesen Code:
<?php
if(isset($_POST["btn_zip"]))
{
$output = "";
if($_FILES['zip-file']['name'] != '') {
$file_name = $_FILES['zip-file']['name'];
$array = explode(".", $file_name);
$name = $array;
$ext = $array[1];
if($ext == "zip") {
$path = "html/sozi-umfrage";
$location = $path . $file_name;
if(move_uploaded_file($_FILES['zip-file']['name'], $location)) {
$zip = new ZipArchive;
echo "Success";
} else {
echo "error";
}
} else {
echo "False ext";
}
} else {
echo "1";
}
} else {
echo "2";
}
?>
Aber als Servermeldung bekomme ich immer error. Wo ist der Fehler?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 337515
Url: https://administrator.de/contentid/337515
Ausgedruckt am: 22.11.2024 um 05:11 Uhr
23 Kommentare
Neuester Kommentar
Füge mal
in dein Skript ein (ganz oben hin). Welche Meldung wird dir dann ausgegeben? Dieser Ausgabecode steht bei mir übrigens in jedem Skript welches ich entwickle. Erleichtert dir das Debugging ungemein. Aber später für den realen Betrieb wieder rausnehmen!
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$path = "html/sozi-umfrage";
$location = $path . $file_name;
Fällt dir da wirklich nichts auf?? Waren heute zu wenig "slashes" im Angebot ?$location = $path . $file_name;
Gruß
Klarer Freitag, dir fehlt ein Backslash zwischen Pfad und Dateiname!! Ich glaube du brauchst eine Brille ...
$path = "html/sozi-umfrage/";
$location = $path . $file_name;
Funktioniert nicht, ist kein Fehlermeldung in eine Admin-Forum!
den Code von tomopi genommen
tomopi?Wenn du bei move_uploaded_file den falschen Dateinamen angibst ist klar das das nicht funktionieren kann, denn auf dem Server wird die Datei beim Upload mit einem temporären Dateinamen versehen (tmp_name), deswegen nutzt man diesen:
move_uploaded_file($_FILES['zip-file']['tmp_name'], $location)
http://php.net/manual/de/function.move-uploaded-file.php
http://php.net/manual/en/features.file-upload.post-method.php
Ich habe doch oben geschrieben das du zusätzlich dem Pfad den Slash hinzufügen musst ... denn wenn es das Zielverzeichnis nicht gibt kann er das File nicht dorthin verschieben.
Denn hier:
fehlte der Slash am Ende bei dir.
Und natürlich immer bedenken ob du relative oder absolute Pfade verwendest. Dieser Pfad hier ist "relativ" zum PHP-Script zu betrachten.
Denn hier:
$path = "html/sozi-umfrage/";
fehlte der Slash am Ende bei dir.
Und natürlich immer bedenken ob du relative oder absolute Pfade verwendest. Dieser Pfad hier ist "relativ" zum PHP-Script zu betrachten.
Oh mann, Zeile 13 findest du wohl noch , ganz schwarzer Freitag heute .... hast du gesoffen?
Dann hat der Server-Prozess keine Schreibberechtigungen im Zielverzeichnis ...
Zitat von @Yanmai:
Und wie bekomme ich es hin, dass der Server-Prozess im Zielverzeichnis Schreibrechte hat?
Ist das dein ernst?Und wie bekomme ich es hin, dass der Server-Prozess im Zielverzeichnis Schreibrechte hat?
chmod u+w /pfad
Wenn der Webserver User der Eigentümer ist, aber das sind nunmal Unix-Grundlagen die du überall nachlesen kannst!
Aber beachten muss man auch wen das ganze auf Servern wie CentOS läuft das hier eine zweite Security-Schicht (selinux) aufpasst dessen Regeln du anpassen musst.
Da hast du recht, wenn's dann noch "vom opi" kommt ist endgültig Feierabend
Zitat von @Yanmai:
Wie kann ich das Problem nun lösen? Ich habe einen ganz normalen WebServer gemietet
Einen 'normalen' Webserver gibt es nicht. Ein Webserver hat immer ein OS und eine Betriebssoftware (Apache/Nginx/IIS...) du Clown!Wie kann ich das Problem nun lösen? Ich habe einen ganz normalen WebServer gemietet
Geb den richtigen Pfad an, stelle sicher das das Verzeichnis existiert und stell sicher das der Webserver auf das Verzeichnis schreiben darf, stelle in der Config sicher das Files überhaupt hochgeladen werden dürfen, dann klappt das 100%!!!!!! Dein Pfad ist relativ zum php Skript, wenn du verstehst was ich meine...aber bei 2,5Promille intus seh ich da schwarz.