PHP Bildergalerie / File-Upload

recotha

Aktives Mitglied
hi zusammen!
ich bastle gerade an einer bildergalerie rum, und habe soweit folgende funktionalität erreicht:
über ein web-formular erstelle ich im galerie-ordner subfolders für eine entsprechende neue bidlergalerie... funktioniert soweit alles prima. wenn ich nun in diesen neu erstellten ordner ein pic hochladen möchte, klappt das nicht, es erscheint folgende fehlermeldung:
Warning: SAFE MODE Restriction in effect. The script whose uid is 1053 is not allowed to access...
am upload-script liegt es nicht, denn das uploaden in subfolders, welche bereits bestehen (und per ftp-client erstellt wurden) klappt ganz einfach.
nun ist mir klar, dass dies an der einstellung safe-mode von meinem hosting-provider liegen muss und man den modus deaktivieren müsste, damit mein upload funktioniert, ist das richtig?!
gibt es allerdings eine alternative möglichkeit, ohne einen ftp-client zu benutzen, um den gewünschten upload-effekt zu erreichen?
danke schonmal...
 
hallo

ich habe leider nicht genau die antwort auf deine frage, möchte dich nur darauf hinweisen das es schon zig ultimativ ausgefeilte galleries gibt, zB die menalto gallery(funktionniert auch mit safe_mode:eek:n) gibt...

damit kann man sachen machen wie dies oder das (wobei dies noch das standard template ist, kann ohne probleme jedem x-beliebigen design angepasst werden.)


gruss feuillet
 
ja, den safe_mode muss der hoster deaktivieren, das kann man nicht mal per .htaccess file.
unsure.gif

allerdings kann man das für einzelne ordner einstellen lassen, wenn du bei nem ordentlichen hoster bist.

auch musst du den ordner, wohin du das pic hochlädst, mit chmod 777 ausstatten (vielleicht geht auch 755).

alternativ könntest du die pics in eine datenbank speichern, dann benötigst du kein "filehandling" auf physischer seite des systems. allerdings bin ich eher ein gegner von grossen files in datenbanken, das bläht alles so extrem auf...
dry.gif
 
QUOTE auch musst du den ordner, wohin du das pic hochlädst, mit chmod 777 ausstatten (vielleicht geht auch 755).

hab ich, daran liegts nicht...


QUOTE alternativ könntest du die pics in eine datenbank speichern, dann benötigst du kein "filehandling" auf physischer seite des systems. allerdings bin ich eher ein gegner von grossen files in datenbanken, das bläht alles so extrem auf...
dry.gif


wenn ich nur die namen der pics, und nicht die pics selber in die db speichere, wäre das ja kein problem, dann lese ich einfach die pic-pfade aus der db. dann müsste ich lediglich beim uploaden ebenfalls eine kategorie in die pic-db eintragen, und schon kann ich kategorie-weise die pics auslesen....
NUR, wenn ich das ganze jetzt ohne MYSQL und mit SAFE MODE realisieren will, wie mach ich das?
blink.gif
das ganze soll lowbudget-mässig bei minimalen hosting-kosten ohne grossen schnickschnack für ein kleines projekt sein, welches ich für einen kumpel erstelle. hast du da ne super lösung?
schlussendlich soll der 0815-user ohne webkenntnisse pics raufladen und somit bildergalerien erstellen können... und das ganze ohne DB, unter der bedingung, dass SAFE MODE weiter läuft... hmm ?!
 
QUOTE (feuillet @ Mi 26.5.2004, 12:38) ich habe leider nicht genau die antwort auf deine frage, möchte dich nur darauf hinweisen das es schon zig ultimativ ausgefeilte galleries gibt, zB die menalto gallery(funktionniert auch mit safe_mode:eek:n) gibt...
danke dir - du kannst dir allerdings kaum vorstellen, wieviele unzählige scripts ich schon ausprobiert habe... ;/
die meisten, wie z.b. die menalto, sind absolute funktionale höchstleistungen, und von der usability her einfach TOP. nur wenn ich das ganze ohne db für jemanden realisieren möchte, siehts schlecht aus...
 
guckst du hier:

http://phpmywebmin.josh.ch/_uploads/j0sh/image_upload.zip

das ist so ein minimal-pic-upload-tool welches ich mal für n kollegen geschrieben habe. einfach in einen ordner XY kopieren, die 2-3 einstellungen in index.php bearbeiten (passwort etc), XY in CHMOD 777 umwandeln und testen.
smile.gif


und hier in action: http://lukas.josh.ch

***

an einer CHMOD änderung wirst du meines erachtens jedenfalls generell NIE vorbeikommen bei file uploads...
 
danke! habs gerade mol probehalber raufgeladen und, tja...
QUOTE Warning: SAFE MODE Restriction in effect. The script whose uid is 1053 is not allowed to access test owned by uid 33
eigenartigerweise erstellt es mir den folder trotz fehlermeldung, pic-upload klappt dann aber leider garnicht mehr..
 
QUOTE (recotha @ Mi 26.5.2004, 13:38) QUOTE (feuillet @ Mi 26.5.2004, 12:38) ich habe leider nicht genau die antwort auf deine frage, möchte dich nur darauf hinweisen das es schon zig ultimativ ausgefeilte galleries gibt, zB die menalto gallery(funktionniert auch mit safe_mode:eek:n) gibt...
danke dir - du kannst dir allerdings kaum vorstellen, wieviele unzählige scripts ich schon ausprobiert habe... ;/
die meisten, wie z.b. die menalto, sind absolute funktionale höchstleistungen, und von der usability her einfach TOP. nur wenn ich das ganze ohne db für jemanden realisieren möchte, siehts schlecht aus...
also für die menalto brauchst du keine datenbank...

gruss feuillet
 
QUOTE (feuillet @ Mi 26.5.2004, 14:30) also für die menalto brauchst du keine datenbank...

gruss feuillet
echt? wenn das so ist, das wäre das höchste der gefühle!!
wink.gif

werden demnach die ganzen comments und hits in textfiles abgelegt?

EDIT:
errrrrrr sh*t, zu früh gefreut...
das killerkriterium:

QUOTE Your PHP installation must not be in safe mode

ich interpretiere das "must not" als "darf nicht", und nicht als "muss nicht zwingend" ... verflixt!
 
QUOTE (j0sh @ Mi 26.5.2004, 13:21)allerdings kann man das für einzelne ordner einstellen lassen, wenn du bei nem ordentlichen hoster bist.

@ josh

was ist denn in dem Fall ein ordentlicher Hoster??? Ich schlage mich nämlich mit dem gleichen Problem rum. Ich fragte noch beim Hoster nach, ob einzelne Ordner umgestellt werden könnten. Antwort war nein, das würde nur pro Domain gehen. Und ich dachte immer, ich hätte einen ordentlichen Hoster...
 
@ recotha:
noch einmal, meiner meinung nach ist safe_mode = off ZWINGEND für file handling auf dem server.
und "must not" ist tatsächlich "DARF nicht", also etwas verwirrend für uns deutschsprachige...
smile.gif


@ niki:
bei www.hostpoint.ch kann ich jeden ordner, den ich will, umschalten lassen. standardmässig ist der safe_mode seit neuem sogar auf off geschaltet (habe nachgefragt, das sei jetzt genug sicher...). einfach eine email schreiben, innert kurzer zeit (werktags normalerweise innerhalb von 0-2 stunden) ist die änderung vorgenommen.
smile.gif

kann hostpoint nur empfehlen für shared hosting, minimaler preis und extrem gute leistung!
 
josh,

Danke, werde ich mir merken
smile.gif
Ich bin eigentlich mit meinem sonst ganz zufrieden. Aber bei so kleinen Details zeigen sich dann die Vor- und Nachteile der einzelnen Anbieter. Meiner würde den safe_mode ohne Probleme ändern - aber halt für die ganze Domain und nicht nur für eine bestimmten Ordner. Mal sehen, ob ich bei dem vorgesehenen Skript bleibe oder was anderes suche...

Niki
 
Nochmals hallo zusammen

Habe soeben noch gefunden, dass man anscheinend den safe_mode umgehen kann, und zwar über CGI.

Genaue Beschreibung kann man bei menalto Gallery (englisch) oder bei post-nuke.net (deutsch) finden.

Hat das schon jemand ausprobiert? Mich würde interessieren, ob das eine wirkliche Alternative ist oder eher zur Sorte "Gebastel" gehört, wo man besser die Finger davon lässt.

Danke für Euer Feedback.

Niki
 
Genau mit safe mode gehts nicht... hab aber die cgi variante angewant... und dann funzt es einwandfrei.
bis es aber läuft, kannst du wahnsinnig werden.
 
so, ich bin nun dabei, mir eine eigene gallery zu basteln, habe mittlerweile genügend gallery-code gesehen um es vermutlich in etwa hinzubekommen
wink.gif

vorallem hat mich HAMLET darauf gebracht, das ganze nicht zwingend mit mysql zu lösen, sondern dass es mit ein paar txt-files auch schon funktionieren kann...
jedenfalls lese ich mich jetzt wie verrückt durch die diversen functionen was das file-handling betrifft, aber finde dennoch keine lösung, wie ich nur dateien mit einer gewissen dateiendung (.txt) aus einem verzeichnis auslesen kann.
safemode bedingt befindet sich mein php-file zum erstellen von txt-files im selben ordner wie die zu erstellenden txt-files. darum möchte ich nur txt-files auflisten....
kennt jemand eine verständliche lösung?
 
$opendir = opendir("mein_ordner");
while($currentFile = readdir($opendir))
{
$currentFilePathinfo = pathinfo($currentFile);
if($currentFilePathinfo["extension"] == "txt")
{
echo "ich bin eine txt file!<br>";
}
}

grUZz
 
QUOTE Warning: SAFE MODE Restriction in effect. The script whose uid is 1053 is not allowed to access /home/www/web140/html/1 owned by uid 0 in /home/www/web140/html/1/alben.php on line 58

Warning: readdir(): supplied argument is not a valid Directory resource in /home/www/web140/html/1/alben.php on line 59

irgendwas ist da noch faul... das mit dem safe mode kann ich mir fast nicht vorstellen, habe auch andere directory-listings im einsatz mit readdir, dort geht es prima... ?!
 
folgendes funktioniert:
CODE <?php
$handle=opendir ('.');
while (false !== ($file = readdir ($handle))) {
echo "$file<br>";
}
closedir($handle);
?>

und gibt mir diese ausgabe:


QUOTE .
..
file1.txt
file2.txt


...


frage: was sind das für punkte????
 
Du hast scheints nie mit DOS gearbeitet
tongue.gif


Die zwei Punkte sind quasi "Platzhalter". Der . steht für das Verzeichnis selbst, der .. für das Parent-Verzeichnis (das übergeordnete). Kannst Du ausprobieren in nem Dos-Fenster, einfach "dir" eingeben und enter drücken (ohne die Anführungszeichen). Die beiden ersten "Files" die da aufgelistet werden, sind eben . und .. - wobei das nicht im Root funktioniert, also nur in einem Unterverzeichnis.

CODE C:\Mail>dir
Volume in drive C is System
Volume Serial Number is F41B-F484

Directory of C:\Mail

25.10.02 14:13 <DIR> .
25.10.02 14:13 <DIR> ..
25.10.02 14:14 <DIR> domains
3 File(s) 0 bytes
454'722'560 bytes free

Griessli
Irene

 
Zurück
Oben