PHP -> Ordner anlegen der sich auch beschreiben lässt?!
Ich entwickele gerade für mein CMS ein Modul Installer. Das ganze ist recht simpel und einfach für den End - Benutzer der das CMS später benutzt aufgebaut - zumindest soll es das mal sein wenn ich fertig bin!
So solls funktionieren:
Es besteht ein Ordner /module/. Alle Module sollen als zip - File hochgeladen werden. In einem zip - File sind ein paar Dateien. Der Ordner /module/ hat CHMOD777, die bei Installation des CMS festgelegt werden müssen. Soweit, so gut! Jedoch klappt es nicht, wenn ich einen Ordner mit PHP erstelle und er den Inhalt aus der zip - file da hinein entpacken soll. Der Ordner wird angelegt, bekommt auch CHMOD777. Doch ich kann darin weder entpacken, noch weitere Dateien erstellen!
Mein Problem:
Ein Ordner per PHP erstellen, der sich dann auch wirklich beschreiben lässt!
Damit ich die Dateien darin entpacken kann oder Sachen darin uploaden lassen!
Hab nun schon 4 Stunden gegoogelt bis alle Links des Resultats besucht waren.
Ich weis nimmer weiter, bin mit meinem Wissen am Ende, sowas von am Ende!
Lösung?
Ankündigung
Einklappen
Keine Ankündigung bisher.
[Erledigt] PHP -> Ordner anlegen der sich auch beschreiben lässt?!
Einklappen
Neue Werbung 2019
Einklappen
X
-
Nightuser hat ein Thema erstellt [Erledigt] PHP -> Ordner anlegen der sich auch beschreiben lässt?!.[Erledigt] PHP -> Ordner anlegen der sich auch beschreiben lässt?!
Stichworte: -
-
Bringt nix, is mir zu individuell, es soll ja schließlich in ein CMS eingebettet werden und allround kompatibel sein!
Ich gebs auf, habs nun so gelösst dass der Modul Uploader nur zu sehen is, wenn SAFE Mode auf OFF steht.
Scheiß Safe Mode, geht mir echt auf'n Sack! Is ja bald weg zum Glück...
-
die "cURL"-Funktionen sind im manual beschrieben.
Das manual findest du unter PHP: Manual Quick Reference
Die cUrl-Funktionen unter PHP: cURL - Manual
Einen Kommentar schreiben:
-
Aber wenn ich den Safemod lokal auf ON stelle gehts ja auch?!
Hmmm, was mach ich denn jetzt? Was sind denn cURL-Funktionen?
Wenn mir jemand helfen kann zahl ich auch gerne was dafür.
Muss das Ding nun endlich mal zum laufen kriegen, das gibts doch net!
Websitebaker hat das auch, nur sehr komplex gemacht, da steig ich nicht durch!
Einen Kommentar schreiben:
-
Es sieht danach aus, als läge die fehlermeldung an "SAFE MODE =On".
Dadurch kannst du mit file, fwrite, etc nicht so arbeiten, wie "gewohnt".
Informiere dich über die "cURL-Funktionen".
Vielleicht hilft dir das weiter.
Einen Kommentar schreiben:
-
Scheint am Safemod zu liegen, argh!
Gibts denn ne Möglichkeit, das unabhängig zu machen?
Soll schließlich überall laufen, auch wenn Safemod auf ON ist!
Hab local meinen auch mal auf ON gestellt - geht aber dann trotzdem!
Wenn ich es aber auf meinem Server online teste kommen ganz viele Fehler.
Pfade müssen stimmen, denn die ZIP ansich lädt er ja auch richtig hoch?!
Hier mal meine Codes:
setup.inc.php
Code:// Pfad ermitteln und abschneiden -> $pfad = $_SERVER['DOCUMENT_ROOT'].$_SERVER['PHP_SELF']; $pfad = substr ($pfad,0,-19)."includes/module"; $modul = substr ($_FILES['datei']['name'],0,-4); // Datei hochladen -> move_uploaded_file($_FILES['datei']['tmp_name'],$pfad."/".$_FILES['datei']['name']); // Ordner anlegen und CHMOD 777 setzen -> mkdir($pfad."/".$modul, 0777); chmod($pfad."/".$modul, 0777); // Datei in den neuen Ordner entpacken -> unzip($pfad."/".$modul.".zip", $pfad."/".$modul."/"); // ZIP Datei vom Server löschen -> unlink ($pfad."/".$_FILES['datei']['name']);
Code:function unzip($file, $path) { $zip = zip_open($file); if ($zip) { while ($zip_entry = zip_read($zip)) { $complete_path = $path.str_replace('/','',dirname(zip_entry_name($zip_entry))); $complete_name = $path.str_replace ('/','',zip_entry_name($zip_entry)); if(!file_exists($complete_path)) { $tmp = ''; foreach(explode('',$complete_path) AS $k) { $tmp .= $k.''; if(!file_exists($tmp)) { mkdir($tmp, 0777); } } } if (zip_entry_open($zip, $zip_entry, "r")) { $fd = fopen($complete_name, 'w'); fwrite($fd, zip_entry_read($zip_entry, zip_entry_filesize($zip_entry))); fclose($fd); zip_entry_close($zip_entry); } } zip_close($zip); } }
Hier mal paar Fehlermeldungen die bei action kommen.
Is wohl immer die selbe Meldung bei den jeweiligen Files.
Insgesammt sind es 11 Dateien die im ZIP File sind...
Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 10038 is not allowed to access /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/newsle
tter owned by uid 33 in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fopen(/var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/
newsletter/install.sql) [function.fopen]: failed to open stream: No such file or directory in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 415
Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 416
Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 10038 is not allowed to access /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/newsle
tter owned by uid 33 in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fopen(/var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/
newsletter/senden.png) [function.fopen]: failed to open stream: No such file or directory in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 415
Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 416
Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 10038 is not allowed to access /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/newsle
tter owned by uid 33 in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fopen(/var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/
newsletter/settings.inc.php) [function.fopen]: failed to open stream: No such file or directory in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 415
Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 416
Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 10038 is not allowed to access /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/newsle
tter owned by uid 33 in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fopen(/var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/
newsletter/uninstall.sql) [function.fopen]: failed to open stream: No such file or directory in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 415
Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 416
Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 10038 is not allowed to access /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/newsle
tter owned by uid 33 in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fopen(/var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/
newsletter/view.css) [function.fopen]: failed to open stream: No such file or directory in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 416
Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 10038 is not allowed to access /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/newsle
tter owned by uid 33 in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fopen(/var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/
newsletter/admin.css) [function.fopen]: failed to open stream: No such file or directory in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 416
Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 10038 is not allowed to access /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/newsle
tter owned by uid 33 in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fopen(/var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/
newsletter/admin.inc.php) [function.fopen]: failed to open stream: No such file or directory in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 415
Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 416
Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 10038 is not allowed to access /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/newsle
tter owned by uid 33 in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fopen(/var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/
newsletter/eingabe.js) [function.fopen]: failed to open stream: No such file or directory in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 415
Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 416
Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 10038 is not allowed to access /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/newsle
tter owned by uid 33 in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fopen(/var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/
newsletter/email.png) [function.fopen]: failed to open stream: No such file or directory in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 415
Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 416
Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 10038 is not allowed to access /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/newsle
tter owned by uid 33 in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fopen(/var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/
newsletter/index.inc.php) [function.fopen]: failed to open stream: No such file or directory in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 415
Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 416
Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 10038 is not allowed to access /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/newsle
tter owned by uid 33 in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fopen(/var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/includes/module/
newsletter/info.inc.php) [function.fopen]: failed to open stream: No such file or directory in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 414
Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 415
Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/w3blabor.de/subdomains/beta/httpdocs/admin/inc/config.inc.p
hp on line 416
Einen Kommentar schreiben:
-
Zitat von Nightuser Beitrag anzeigenFehlerbeschreibung:
Lege einen Ordner an, per PHP.
In diesen Ordner lässt sich aber nix speichern.
Laut is_writable ist er jedoch beschreibbar?!
Geht jedoch nicht, ich kann keine Dateien darin hochladen u/o erstellen!
PHP-Code:<?php
$file = "path/to/your/file.ext";
var_dump(is_file($file), is_writable($file), file_put_contents($file, "x"));
?>
Einen Kommentar schreiben:
-
Zitat von Bullymeo Beitrag anzeigenMal ungeachtet 777...
normalerweise muss derjenige der etwas "speichern" will, auch der Besitzer sein.
Dein DEzipp-Script ist aber wahrscheinlich nicht der Besitzer und hat somit nicht das recht dort was zu speichern.
Note: When safe mode is enabled, PHP checks whether the files or directories you are about to operate on have the same UID (owner) as the script that is being executed. In addition, you cannot set the SUID, SGID and sticky bits.
Einen Kommentar schreiben:
-
Mal ungeachtet 777...
normalerweise muss derjenige der etwas "speichern" will, auch der Besitzer sein.
Dein DEzipp-Script ist aber wahrscheinlich nicht der Besitzer und hat somit nicht das recht dort was zu speichern.
Hatte ein ähnliches Problem mit Bild-Dateien, die Besucher per Script in Ordner speichern konnten. Diese konnte ich per FTP-Software NICHT löschen. Musste erst den Benutzer wechseln und konnte dann löschen.
Ich denke, bei dir liegt der fall ähnlich.
Einen Kommentar schreiben:
-
Nee, geht ja auch mit Safe_Mod auf ON - Habs lokal getestet.
Macht keinen Unterschied ob der ON oder OFF is!
Einen Kommentar schreiben:
-
-
Fehlerbeschreibung:
Lege einen Ordner an, per PHP.
In diesen Ordner lässt sich aber nix speichern.
Laut is_writable ist er jedoch beschreibbar?!
Geht jedoch nicht, ich kann keine Dateien darin hochladen u/o erstellen!
Einen Kommentar schreiben:
Einen Kommentar schreiben: