pragmaMx Support Forum

pragmaMx => Individuelle Anpassungen => Thema gestartet von: GerhardSt in 08 April 2007, 14:42:28

Titel: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 08 April 2007, 14:42:28
Hallo,
ich möchte gerne mittels Java einen neuen Ordner auf meinem Server anlegen.
Auf meinen Server ist Save mode auf ON, gibt es da eine Möglichkeit, damit dieses Java-Script einen Ordner anlegen darf?

Danke und Frohe Ostern,
Gerhard
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Breaker in 09 April 2007, 09:21:34
Soviel ich weiß, gibt es diese Option garnicht für Java, weder bei Safemode=on, noch bei off..wieso nimmst du kein PHP?
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 09 April 2007, 11:24:06
Danke, Breaker für den Hinweis.
Ich habe bereits verschiedenes probiert, nur leider kann ich ohne FTP keine Ordner anlegen, das hochladen von Dateien funktioniert aber (wenn Ordner 777-Rechte hat).
Jetzt suche ich nach einer Möglichkeit, wie ich Unterordner anlegen kann, in einem Ordner mit 777-Rechte.
Meiner Meinung liegt das Problem am Safemode=on.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 09 April 2007, 12:01:42
Hier mal ein kleines Script, welches dir einen Ordner anlegt und in diesem eine Datei erstellt.
Ist der Ordner vorhanden, wird die Datei gelöscht und dann der Ordner entfernt.

Du kannst keine Ordner löschen, in dem Dateien enthalten sind.

Der Ordner, in welchen die Ordner erstellt werden sollen, muss CHMOD 777 haben.

<?php
$path 
$_SERVER['DOCUMENT_ROOT'];
$path $path."/ordner_anlegen";
echo 
$path."\n\n";

if (
file_exists("$path/neuerordner")) {
unlink("$path/neuerordner/data.txt");
rmdir("$path/neuerordner");
echo 
"Dieser Name existiert bereits!\nOrdner geloescht";
} else {
echo 
"Fertig";
mkdir("$path/neuerordner"0777);
$dz fopen("$path/neuerordner/data.txt","w+");
fclose($dz);
}

?>


Hab aber keine Ahnung, wie das ,mit savemode on funktioniert.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 09 April 2007, 12:16:55
Danke, Musicman75!
Ich werde das mal probiern.
ZitatDu kannst keine Ordner löschen, in dem Dateien enthalten sind.
Danke, will ich auch gar nicht, mir geht´s rein nur darum einen Ordner zu erstellen in dem ich dann Dateien hochladen kann.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 09 April 2007, 12:19:16
Das funktioniert nur, wenn save mode off ist. ansonsten kann in dem ordner, welcher angelegt wurde keine datei angelegt werden.

Für was sollen denn die dateien sein? Vielleicht geht das ja auch anders.


Irgendwo hier im forum gab es auch mal nen java applet für dateiupload. musst mal suchen
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 09 April 2007, 12:30:20
Das ganze soll für Coppermine-Mx sein, um Bilder hochzuladen.
Ein Java-Script das bei mir Lokal funktioniert habe ich, nur auf der HP funktioniert das anlegen von Ordnern nicht. Wenn ich den Ordner mit einem FTP Programm erstelle und im 777-Rechte gebe, dann kann ich mit dem Script die Fotos hochladen. Das Teil kennst du ja bereits von hier (http://www.pragmamx.org/Forum-topic-20579-start-msg140466.html#msg140466)
Währe Super wenn man sowas mal in PragmaMx integrierren könnte, den sonst brauchen immer alle Admins FTP-Zugang und man sieht ja hier im Forum wie oft das schiefgeht. Darum möchte ich es gar nicht erst so weit kommen lassen.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 09 April 2007, 12:46:11
@ Musicman75
Ich habe jetzt trotzdem mal deinen Code probiert.
Folgende Meldung bekomme ich wenn ich ihn ausführe.
Zitat/home/www/web158/html/ordner_anlegen Fertig
Warning: mkdir(/home/www/web158/html/ordner_anlegen/neuerordner): No such file or directory in /home/www/web158/html/test.php on line 12

Warning: fopen(/home/www/web158/html/ordner_anlegen/neuerordner/data.txt): failed to open stream: No such file or directory in /home/www/web158/html/test.php on line 13

Warning: fclose(): supplied argument is not a valid stream resource in /home/www/web158/html/test.php on line 14
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 09 April 2007, 13:54:09
der code muss in eine datei, welche im Ordner "ordner_anlegen" liegt. Dieser muss CHMOD 777 haben, da der neue ORdner dort drin angelegt wird.

Wirst aber nen safemode fehler bekommen.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 09 April 2007, 14:20:22
Sorry, habe ich übersehen.
Aber du hast recht, den jetzt bekomme ich das:
Zitat/home/www/web158/html/ordner_anlegen Fertig
Warning: fopen(): SAFE MODE Restriction in effect. The script whose uid is 1546 is not allowed to access /home/www/web158/html/ordner_anlegen/neuerordner owned by uid 30 in /home/www/web158/html/ordner_anlegen/test.php on line 13

Warning: fopen(/home/www/web158/html/ordner_anlegen/neuerordner/data.txt): failed to open stream: No such file or directory in /home/www/web158/html/ordner_anlegen/test.php on line 13

Warning: fclose(): supplied argument is not a valid stream resource in /home/www/web158/html/ordner_anlegen/test.php on line 14
Liegt also wirklich an Safe Mode.
Ich kenne mich mit diesem Safe Mode leider zu wenig aus, aber kann man diese Funktion z.B.: nicht für einen Ordner deaktivieren oder kann man das nur komplett abstellen?
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Breaker in 09 April 2007, 14:41:32
So habe ich es bei mir gelöst :


<?PHP
$pfad = "pfad/nach/irgendwo/hin/";
if(!is_dir($pfad)) {
mkdir($pfad, 0777);
}
if($bild01 && $bild01 != "") {
if (move_uploaded_file($_FILES['bild01']['tmp_name'],$pfad.$_FILES['bild01']['name'])) {
@chmod($pfad.$_FILES['bild01']['name'], 0777);
preg_match("/(.*?)([\d]+)(\.jpg|\.gif|\.png)/", $_FILES['bild01']['name'], $match);
list($bildurl, $dir, $id, $ext) = $match;
rename("" . $pfad.$_FILES['bild01']['name'] . "", "" . $pfad . "1" . $ext . "");
$picname1 = "1";
Thumbnail($pfad, $picname1.$ext, $thumb_breite);
sql_query("UPDATE " . $prefix . "_" . $tabellen . "_dateien SET bild01='" . mxAddSlashesForSQL($picname1.$ext) . "' WHERE lid='" . intval($lid) . "'");
} else {
echo "<div align='center'><hr><font class='title'>"._DATEINICHTOK1." :<br /><br />";
print_r($_FILES);
echo "</font></div>";
}
}

?>


Du müsstest dir eigentlich nurnoch den Typ der Datei und die DB anpassen ;)
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 09 April 2007, 15:15:38
Hallo Breaker,
danke, dein Code funktioniert. Nur gibts da noch ein Problem, der angelegte Ordner hat nur 755-Rechte, kann man das noch ändern?
Kannst du mir bitte auch sagen wo du diesen Code eingebaut hast, bzw. brauche ich da noch irgendwelche Dateien, wo z.B.:_DATEINICHTOK1 definiert wird.

Danke, Gerhard
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Breaker in 09 April 2007, 15:21:54
Die CHMOD kannst du an dieser Stelle ändern (Der Ordner sollte eigentlich 777 haben :ugly: ):

if(!is_dir($pfad)) {
mkdir($pfad, 0777);
}


Das ist das 0777 hinter "mkdir($pfad...." (777 deshalb, weil du dann auch das verzeichniss per FTP löschen kannst, statt nur über die Userrechte des WWW-Users/Apache  (bei Linux-Systemen)

Das _DATEINICHTOK1 ist nur eine Definition für den text, der beim Fehler angezeigt werden soll,- zb. :

"Datei konnte nicht hochgeladen werden" (o.ä.)
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 09 April 2007, 15:22:15
Ich hab ne Lösung gefunden.  :mad2: Lacht mich aber nicht aus. Auf sowas muss man erstmal kommen.

ALSO:

1. Ein file mit folgendem Inhalt anlegen:
<?php
$path 
$_SERVER['DOCUMENT_ROOT'];
$path $path."/ordner_anlegen";
mkdir("$path/neuerordner"0600);
chmod("$path/neuerordner"0777);

$fp fopen("upload.php""w");

$data "<?php\n
\$path = \$_SERVER['DOCUMENT_ROOT'];
\$path = \$path.\"/ordner_anlegen\";


echo \"\nFertig\n\n\";
\$dz = fopen(\"\$path/neuerordner/data.txt\",\"w+\");
fclose(\$dz);

?>
";

fwrite($fp, $data);

fclose($fp);
header("Location: http://".$_SERVER['HTTP_HOST']."/ordner_anlegen/upload.php");

?>

Hier wird der Ordner angelegt und ein File, welches zum erstellen der Datei zuständig ist. Danach wird auf das neu erstellte file umgeleitet, welches dann die Datei in dem Ordner anlegt. Und siehe da, es geht, da die neu erstellte Datei jetzt dem gleichen User gehört, wie der zuvor erstellte Ordner.

Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 09 April 2007, 19:28:10
@ Musicman75
Echt super Lösung  :thumbup:
Der angelegte Ordner hat auch 777-Rechte. Jetzt muß ich es nur noch schaffen das ganze in die Iupload zu integrierren.

Danke!
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 09 April 2007, 20:55:54
@ Musicman75
Könntest du mir bitte bei der Anpassung deines Codes helfen, irgendwie funktioniert das ganze dort nicht so richtig. Ich hänge die original und die geänderte Datei mal hier an.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 09 April 2007, 21:16:57
lege dir mittels dieses scriptes deine upload datei einmal an. diese kannst du dann immer für den upload verwenden. es muss nicht jeden mal eine neue datei erzeigt werden.

einfach meinen code und bei $data fügst du den ganzen code deiner datei ein, welche den upload machen soll. den namen kannst du ja auch beliebig ändern. versuch mal die datei Iupload mit meinem code zu erzeugen. vielleicht reicht das ja schon.

Es ist schwierig ein script zu bearbeiten, wenn man nur eine datei davon hat. das kann nur in die hose gehen.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 09 April 2007, 21:58:16
Sorry, aber das verstehe ich jetzt nicht ganz. Dein Code erzeugt doch nur einen Ordner Namens "neuerordner" und nicht jedes mal einen anderen oder habe ich da was übersehen? :puzzled:
Ich hätte aber gerne das man damit beliebig verschiedene erzeugen kann, damit im Album ein wenig Ordnung herscht. Das ganze soll ausserdem einfach zu bedienen sein.
Könntest du mir da bitte helfen, ich habe das geänderte komplette Modul mal hier (http://members.aon.at/stuebinger/download/Iupload.zip) hochgeladen.

Danke!
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 10 April 2007, 08:24:00
es wird auch eine datei angelegt (upload.php). diese ist dann der gleichen uid wie der ordner zugewiesen, welhalb der dateiupload überhaupt klappt.
du müsstest also einfach nur einmal deine datei über diesem umweg erzeugen, damit die uid stimmt. danach sollte das mit dem upload klappen.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 10 April 2007, 12:23:34
Danke für deine Hilfe, werde ich heute abend mal versuchen.
Eine Frage habe ich dazu noch, die uid der upload.php gilt die für das Script oder für den Benutzer?
Oder einfacher muß ich pro Admin eine upload.php anlegen oder reicht eine für alle?

Danke, Gerhard
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 10 April 2007, 13:26:53
ne, nicht für jeden admin. es reicht das script einmal anzulegen.

hab grad aber nochwas festgestellt. das script welches den ordner anlegt wird, musst du normal hochladen und das script um dann die dateien zu speichern musst du über mein script erzeugen. hab es getestet und es funktioniert nicht, wenn das beides in dem einen script steht.
notfalls musst du das script in 2 scripte teilen.

:mad2:
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 10 April 2007, 18:08:50
Hallo Musicman75,
ich habe deinen Code gerade so geändert das im Ordner albums der neue Ordner angelegt wird. Hat soweit auch funktioniert, die Ordner und die Dateien sind alle vorhanden, nur wenn ich jetzt das iupload Script ausführe, bekomme ich wieder den Safe Mode-Fehler. Muß ich da noch was ändern, oder habe ich da was komplett falsch verstanden?

Danke für deine Hilfe, Gerhard
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 10 April 2007, 21:22:58
nochmal in kürze:

1 - die datei welche die ordner anlegt normal hochladen
2 - die datei, welche die Bilder hochläd, mit dem script erzeugen
3 - die funktionen ordner erstellen und dateiupload dürfen NICHT in der gleichen datei sein, da sonst die rechte nicht stimmen.


Schau dir mal den safemode fehler an, der jetzt kommt und vergleiche ihn mit der fehlermeldung am anfang. die UID's müssten genau andersrum gemeldet werden.

Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 10 April 2007, 21:43:03
Hallo Musicman75,
ich Schätze mal das du mit 1 deinen Code und mit 2 das Java-Script Iupload meinst. Nur das Java-Script besteht ja aus mehr als einer Datei, kannst du mir bitte sagen wie ich da genau vorgehen muß? Ich habe soetwas noch nie gemacht. Wie soll ich mit deinem Code das Java-Script erzeugen?
Zu Punkt 3, stimmt deine Aussage noch das man nachher nur noch das Iupload-Script benötigt?

Danke nochmal, Gerhard
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 10 April 2007, 22:40:51
schick mir mal bitte das modul, so wie du es jetzt hast. dann teste ich das mal auf meinem server.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 10 April 2007, 23:12:41
Hallo Musicman75,
hier (http://members.aon.at/stuebinger/Iupload.zip) ein Link zum downloaden, so sieht das komplette Modul bei mir aus, ohne deinem Code.

Danke nochmal, das du dir das anschaust, komme da leider nicht weiter.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 10 April 2007, 23:34:23
wie legst du denn momentan die ordner an?
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 11 April 2007, 09:35:37
Momentan geht das sehr umständlich. Ich bekomme per PM die Ordner die gebraucht werden, dann erstelle ich sie per FTP und sende wieder eine PM an denjenigen, das er die Fotos hochladen kann.
Das ganze möchte ich hiermit vereinfachen, ich hoffe das ich das mit deiner Hilfe irgendwie hinbekomme.

Danke!
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 11 April 2007, 13:02:26
und wie können die admins die ordner dann auswählen? ich hab jetzt auch mal nen ordner im albums ordner angelegt, aber ich bekomme den nicht in der jupload oberfläche angezeigt.

da müsste das ganze script umgeschrieben werden, damit die verschiedenen ordner auch zur auswahl stehen. in wie weit das allerdings möglich ist, kann ich nicht sagen. in den .jar files kann man definitiv nichts ändern.
denka mal, das du dann für jeden ordner eine eigene config datei machen musst, welche dann über parameter, welche übergeben werden includiert wird.

ich schau mal wie man das machen könnte.

Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 11 April 2007, 13:19:59
Nein das ganze funktioniert ganz einfach, wenn das mit dem Ordner erstellen funktionieren würde.
Du musst einfach im eingeblendeten Fenster einen rechtsklick auf / machen, dann kannst du einen neuen Ordner erstellen (da geben meine Admins den von mir erstellten Ordner ein).
Der Upload funktioniert aber nur wenn der Ordner 777-Rechte hat. Am besten Lokal testen, dann funktioniert´s oder du kannst Safe Mode deaktivieren.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 11 April 2007, 13:31:44
achso,

jetzt versteh ich das ganze. wie gesagt. mal sehen wie sich das lösen lässt.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 11 April 2007, 21:10:06
Zitat von: Musicman75 in 11 April 2007, 13:31:44
achso,

jetzt versteh ich das ganze. wie gesagt. mal sehen wie sich das lösen lässt.
Ich schätze mal du hast dieses (http://www.pragmamx.org/Forum-topic-20129-start-msg141971.html#msg141971) Plugin gemeint.
Mit diesem kann man zwar die Albums in Coppermine erstellen, und die Fotos werden auch gleich dort hinein kopiert. Nur hat es den einen Nachteil, es kopiert alle Fotos in einen Ordner, aber ansonst ist es das selbe Java-Script. Eine Kompination der beiden wäre zwar schön, aber ich bin schon zufrieden wenn dieses hier laufen würde.
Danke das du mir dabei helfen willst! :thumbup:

P.S. Mehr zu diesem Java-Script hier gibt´s hier (http://www.jupload.biz/). Irgendwie soll es sich sogar auf deutsch umstellen lassen.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 11 April 2007, 22:59:54
jetzt gehts, zumindest bei mir.

1 - Folgende Dateien im Modulordner löschen:

2 - Folgende Ordner auf 777 setzen:

Die angehängten Dateien in das Modulverzeichnis kopieren, Index.php ersetzen, dort ist jetzt eine funktion drin, um ordner anzulegen.
.
create_data.php und create_data2.php ausführen.

Fertig.

Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 12 April 2007, 18:31:12
nen feedback wäre klasse.
:gruebel:
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 12 April 2007, 18:42:51
Hallo Musicman75,
bin gerade erst nachhause gekommen, die create_data.php und create_data.php habe ich ausgeführt und die Dateien die ich vorher gelöscht habe wurden wieder erstellt. Wenn ich jetzt das Script starte habe ich oben das neue Feld Ordner erstellen und unten das bekannte Script. Soweit so gut.
Nur wenn ich jetzt einen Ordner eingebe und auf Ordner erstellen klicke meldet mir der IE7 einen Fehler auf der Seite. Laut FTP habe ich auch keinen neuen Ordner, habe aber dann trotzdem mal versucht Fotos in den Ordner zu laden. Dann bekomme ich folgende Fehlermeldung
ZitatWarning: mkdir(): SAFE MODE Restriction in effect. The script whose uid is 30 is not allowed to access / owned by uid 0 in /home/www/web158/html/modules/Iupload/scripts/php/inc/jupload.inc.php on line 36 Error: Cannot create / Warning: move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid is 30 is not allowed to access /home/www/web158/html/albums owned by uid 1546 in /home/www/web158/html/modules/Iupload/scripts/php/jupload-post.php on line 42 Error while moving temporary file to target path: /Test/UserImages.bmp
Soweit mal zu IE7, werde das ganze jetzt noch mir Firefox testen, dann melde ich mich wieder.

Danke für deine Hilfe!
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 12 April 2007, 18:47:42
der upload funktioniert jetzt nur noch in die per php erstellten ordner.

der ordner albums muss auch 777 haben und die datei directory.php ebenso.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 12 April 2007, 18:54:55
Einen Fehler habe ich dann schon directory.php war nicht auf 777. Habe das ganze jetzt mal mit Firefox probiert, da kommt trotz 777-Rechte beim Klick auf Ordner erstellen ein neues Fenster mit dem Inhalt "Ordner angelegt
"Test"


Warning: mkdir(/home/www/web158/html/pragma/albums/Test): No such file or directory in /home/www/web158/html/modules/Iupload/directory.php on line 12
OK"
Laut FTP wurde auch kein Ordner erstellt.
Der IE7 bleibt bei seiner Meldung!
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 12 April 2007, 19:01:29
ok, schau mal in die directory.php und passe den Pfad an. Steht nen Kommentar über der Zeile, wirst also finden.
Ich hab meine Testinstallation in einem Unterordner.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 12 April 2007, 19:14:55
Zitat von: Musicman75 in 12 April 2007, 18:47:42
der upload funktioniert jetzt nur noch in die per php erstellten ordner.
Habe ich jetzt sicherheitshalber auch getestet, stimmt da bekomme ich jetzt auch die Fehlermeldung (SAFE MODE)

Habe den Pfad jetzt angepasst, jetzt funktionierts im Firefox, nur der IE7 will wie immer wieder nicht, muss ich nur einen Hinweis dazuschreiben oder den Fehler finden.

Super :thumbup:, danke nochmal für deine Hilfe

P.S. Ist es eigentlich möglich auch Unterordner zu erstellen?
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 12 April 2007, 19:29:56
Das hab ich nicht getestet, müsste aber funktionieren, wenn man in das eingabefeld dann zuerst
zB. "Ordner" anlegt und dann Ordner/Unterordner angibt.

Wobei da wahrscheinlich wieder der Safemode nen Fehler bringt. Da müsste man extra ne Datei für anlegen.


Der Fehler im IE7 liegt wahrscheinlich an dem JavaScript was da drin ist. Ist nen Fehler im Browser. Er kann bestimmte JS Befehle nur verarbeiten, wenn die Java Funktion am Anfang oder am Ende der Seite steht (also nicht in table, div, tr, td oder anderen Tags)
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: jubilee in 12 April 2007, 21:15:05
Wenn der SafeMode aktiviert ist, dann sind (je nach Serverkonfiguration) die Möglichkeiten für
Dateioperationen über PHP bestenfalls teilweise eingeschränkt. Im schlechtesten Falle geht fast gar nix.
Einzige wirklich gangbare Lösung ist in diesem Fall ein FTP-Backend, welches diese Aufgaben erledigt.
Ich arbeite für die Version 0.2 an so einem Backend. Wann und ob dieses auch für eine Version 0.19 verfügbar sein wird, steht aber noch nicht fest.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 13 April 2007, 15:08:36
@ Musicman75 :genie:
Habe ich probiert, funktioniert leider nicht, es kommt der selbe Fehler wieder mit der directory.php.
Zum IE7, das heisst der Fehler (laut IE7) müsste hier sein?
Zitat<script type="text/javascript">
function oeffnefenster (url) {
var x = (screen.width/2)-125;
var y = (screen.height/2)-40;

fenster = window.open(url, "Ordner erstellt", "width=250,height=80,left=" + x + ", top=" + y + ", status=yes,scrollbars=yes,resizable=yes");
fenster.focus();
}
</script>

Danke, nochmal!

@jubilee
Finde ich super, ich hoffe nur man kann da auch Berechtigungen vergeben, wer in welchen Ordner schreiben darf. Denn sonst könnte ich ja jetzt auch jedem FTP-Zugang geben.

Noch ein Tip von mir, wenn ich das hier im Forum nicht falsch verstanden habe, gibt es diese Problem mit Safe Mode auch bei der Datenbanksicherung. Ich verwende dies zwar nicht, aber die Idee von Musicman75 müsste sich doch auch dort anwenden lassen.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 13 April 2007, 16:16:43
Habs gelöst. nimm diese Index.php, damit gehts auch im IE7

Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 13 April 2007, 16:18:17
Leider zu früh gefreut, habe gerade versucht ein paar Fotos hochzuladen und im Coppermine-Mx freizuschalten.
Das Hochladen hat einwandfrei funktioniert, nur kann ich die Fotos leider keinem Album zuordnen, weil die Ordner nur 755-Rechte anstatt 777 haben. :mad2:
Was stimmt da jetzt wieder nicht?
Auch das löschen mit FTP funktioniert nicht, schade.

P.S. @Musicman75
Ja, deine index.php funktioniert im IE7, danke.
Kannst du mir bitte sagen warum die Ordner jetzt nur mehr 755-Rechte haben, bei deinem ganz ersten Code hats ja auch funktioniert?
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 13 April 2007, 17:03:14
Den Fehler mit den Ordnerrechten habe ich schon gefunden. Lag an der directory.php habe aus
Zitatmkdir($path."/".$dir, 0777);
das gemacht
Zitatmkdir($path."/".$dir, 0600);
   chmod($path."/".$dir, 0777);
Nur funktioniert das zuordnen immer noch nicht, brauchen die Fotos jetzt auch andere Rechte? :gruebel:
Ich schätze mal das dashier auch nicht richtig funktioniert
Zitatfunction mkdirs($dir, $dirmode=0777) {
ist in der jupload.inc.php Zeile 27. Nur wie müsste das denn aussehen damit es funktioniert?

Und wie bringe ich die anderen Ordner wieder weg, bei mir kommt immer ich habe keine Berechtigung?
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 13 April 2007, 19:43:39
ich denk mal jetzt gibt es die gleichen probleme mit den dateirechten wie bei der jupload.
du müsstest jetzt auch noch die dateien der coppermine durch ein script erzeugen.

quasi alle dateien, die auf die bilder/Ordner zugreifen müssen durch ein script erzeugt werden.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 13 April 2007, 19:51:59
Hallo Musicman75,
ich glaube wenn ich den Fotos auch 777-Rechte verpasse müsste es auch funktionieren. Nur weiss ich nicht wo und wie ich das genau einbauen muss.
Ich schätze es gehört in die jupload-put.php irgendwo zwischen Zeile 51 - 66, wenn ich das Script richtig verstehe wir dort die Datei hochgeladen.
Zumindest funktioniert das löschen von Ordnern mit 777-Rechte die mit deinem Script erstellt werden, jetzt vermute ich mal das Coppermine auch auf die Fotos zugreifen kann, wenn die Dateien 777-Rechte hat.
Kannst du mir da noch einen Tip geben, wo ich das am besten einbau. Mir ist schon klar das ich das ganze wieder mit einer deiner create_data.php Dateien anlegen muß.

Danke, Gerhard
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 13 April 2007, 20:08:21
die userzuordnung hat nichts mit den dateirechten zu tun.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 13 April 2007, 20:21:49
Heisst das, ich kann das ganze vergessen? Ist doch sicher so wenn ich das ganze jetzt mit der Coppermine-Mx mache, das dann die ganzen alten Fotos nicht mehr funktionieren, oder?
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: Musicman75 in 13 April 2007, 21:03:45
die alten fotos funktionieren denk ich mal auf jeden fall weiterhin. das problem was du mit den neuen hast ist das erzeugen der thumbnails und der vorschaubilder. diese werden ja im gleichen ordner gespeichert wie die orginalbilder.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 13 April 2007, 21:10:40
Das heisst ich komme nicht drumrum Safe Mode zu deaktivieren, wirklich schade.

Danke nochmal für deine Zeit!

Ich hoffe nur mein Server macht das so ohne weiteres.
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 16 April 2007, 18:44:00
Hallo, ich weiss das ganze weicht jetzt schon ein wenig vom eigentlichen Thema ab. Nur geht´s bei mir noch immer um das selbe Script.
Ich habe jetzt Safe Mode auf off, nur das Script will mir noch immer keine Ordner erstellen. Alle PHP-Dateien und Ordner haben schon 777-Rechte, habe sogar schon alles neu hochgeladen.
Bekomme jetzt diese Fehlermeldung
Zitat
Warning: mkdir(): open_basedir restriction in effect. File(/) is not within the allowed path(s): (/home/www/web158/:/usr/bin) in /home/www/web158/html/modules/Iupload/scripts/php/inc/jupload.inc.php on line 45 Error: Cannot create / Warning: move_uploaded_file(/home/www/web158/html/modules/Iupload/scripts/php/inc/../../../../../albums//Test/UserImages.bmp): failed to open stream: No such file or directory in /home/www/web158/html/modules/Iupload/scripts/php/jupload-post.php on line 52  Warning: move_uploaded_file(): Unable to move '/home/www/web158/phptmp/phpLKIYi9' to '/home/www/web158/html/modules/Iupload/scripts/php/inc/../../../../../albums//Test/UserImages.bmp' in /home/www/web158/html/modules/Iupload/scripts/php/jupload-post.php on line 52 Error while moving temporary file to target path: /Test/UserImages.bmp
und weiss leider nicht warum. Lokal auf meinen Rechner funktionierts einwandfrei. Könnte mir bitte wer einen Tip geben woran es da noch liegen kann.

Danke für Eure Hilfe!
Gerhard
Titel: Re: Mit Java einen neuen Ordner anlegen (Save mode=ON)
Beitrag von: GerhardSt in 16 April 2007, 22:40:34
@Musicman75
Ich habe deine index.php und directory.php jetzt noch mal hochgeladen. Jetzt funktioniert sogar das erstellen mit den Unterverzeichnissen einwandfrei, und Coppermine-Mx erkennt auch die Fotos in diesen.