[GastForen Programmierung/Entwicklung PHP und MySQL upload + chmod

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

upload + chmod

BadY
Beiträge gesamt: 17

15. Feb 2006, 05:31
Beitrag # 1 von 8
Bewertung:
(1600 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hi leute,

also ich hab ein prob. mit meinem script ...
und zwar hab ich eine community gebaut ... was ja alles funkt.
nun will ich den usern erlauben das sie sich eine gallery anlegen dürfen ...
klappt alles soweit super ... nur das einzige prob. is wenn i a bild uploade
setzt er mir den chmod auf 600 ... habs auch versucht im script den chmod
zu ändern ... funkt. aber irgendwie ned ... jetzt weiß i nimmer weiter ...
kann mir jemand helfen ... hier der teil mit dem upload

Code
$uploaddir = './npgallery/'.$conf[user].'/'; 
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
$img = $_FILES['userfile']['name'];
$now = time();
$db->unbuffered_query("INSERT INTO npgallery VALUES ('', '$cmsID', '$img', '$comment', '$now')");
message('Erfolgreich geladen', 'Die Datei wurde erfolgreich raufgeladen. '.$_FILES['userfile']['error']);
include('inc/footer.php');
chmod ("/npgallery/".$conf[user]."/".$img, 755);
exit();
} else {
message($lang_error, 'Fehler beim upload');
include('inc/footer.php');
exit();
}


danke schonmal im vorraus für eure hilfe ... ah übrigends es hat auch nicht mit:

chmod ("/npgallery/".$conf[user]."/".$img, 777);
sowie
chmod ("/npgallery/".$conf[user]."/".$_FILES['userfile']['nam'], 755);

geklappt.

(Dieser Beitrag wurde von BadY am 15. Feb 2006, 05:35 geändert)
X

upload + chmod

dEX
Beiträge gesamt: 20

15. Feb 2006, 07:55
Beitrag # 2 von 8
Beitrag ID: #211692
Bewertung:
(1583 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
wie steht es mit der chmod für den erstellten ordner des users ?


als Antwort auf: [#211687]

upload + chmod

BadY
Beiträge gesamt: 17

15. Feb 2006, 12:53
Beitrag # 3 von 8
Beitrag ID: #211776
Bewertung:
(1573 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
chmod von: npgallery & den erstellten ordner: 777


als Antwort auf: [#211692]

upload + chmod

dEX
Beiträge gesamt: 20

15. Feb 2006, 19:28
Beitrag # 4 von 8
Beitrag ID: #211894
Bewertung:
(1564 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
rein aus kuriosität.. hast du 0777 versucht ?

(ich kenn das problem, nur fällt mich nicht ein was die lösung war ;) )

rein zur Anmerkung aus dem PHP Manual:
Zitat "Der aktuelle Benutzer ist der, unter dem PHP läuft. Das ist unter Umständen nicht der Benutzer, den Sie für normale Shell- oder FTP-Zugriffe benutzen."


Sprich, ich hab schon erlebt das wegen Userberechtigungen ich das chmod nicht ändern konnte. Was ich in diesem Fall für unwarscheinlich finde, da du ja die Ordner selber manipulieren konntest..

Ein anderes Problem könnte sein wenn der Server das SAFE_MODE aktiviert hat, welches bedeutet das PHP
kontrolliert ob die UID (Besitzer) des Files/Folders der
gleiche ist wie der Besitzer des Scripts. Welches bedeuten
würde das du deine Lösung auf FTP-Funktionen um-münzen
müsstest.

Sonst fällt mir grad nix ein..


als Antwort auf: [#211776]
(Dieser Beitrag wurde von dEX am 15. Feb 2006, 19:30 geändert)

upload + chmod

Intermedia
Beiträge gesamt: 1287

15. Feb 2006, 20:12
Beitrag # 5 von 8
Beitrag ID: #211902
Bewertung:
(1559 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,
das Problem kommt mir bekannt vor, ich hab es folgendermaßen gelöst:

mkdir("verzeichnisname",0777);
chmod("verzeichnisname", 0777)

nach dem mkdir selbst mit den Rechten 777 werden diese Rechte nicht gesetzt, weiss aber jetzt nicht genau welche, ich setzte nach dem Verzeichnis erstellen nochmals die Rechte mit chmod dann hat es bei mir funktioniert.

Hoffe es hilft weiter.

Gruß Sven


als Antwort auf: [#211776]

upload + chmod

BadY
Beiträge gesamt: 17

15. Feb 2006, 22:05
Beitrag # 6 von 8
Beitrag ID: #211914
Bewertung:
(1548 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: rein aus kuriosität.. hast du 0777 versucht ?


ja hab ich ... hat sich nichts gebracht ...
----------
bin jetzt aber auf eine lösung gekommen die auch funkt.

$chrechte = 0755;
@chmod('npgallery/'.$conf[user].'/'.$img, intval($chrechte, 8));

kann mir jetzt wer erklären was der unterschied zwischen der und der ersten
lösung is, check i ned ganz !


als Antwort auf: [#211902]

upload + chmod

dEX
Beiträge gesamt: 20

15. Feb 2006, 23:12
Beitrag # 7 von 8
Beitrag ID: #211920
Bewertung:
(1546 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
bei der ersten variante behandelt chmod() die rechte (oder wie jetzt $chrechte) dezimal .. da aber für chmod eigentlich der standard octal ist convertierst du mit intval($chrechte, 8) den dez wert in octal wert und voila, das problem verschwindet ;)


als Antwort auf: [#211914]

upload + chmod

oesi50
  
Beiträge gesamt: 2315

16. Feb 2006, 09:17
Beitrag # 8 von 8
Beitrag ID: #211943
Bewertung:
(1526 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: kann mir jetzt wer erklären was der unterschied zwischen der und der ersten
lösung is, check i ned ganz !


ja kann ich.

Bei deiner ersten Lösung hast du 777 verwendet, das wird dezimal interpretiert.
Bei deiner letzten Lösung hast du 0755 verwendet, das wird oktal interpretiert.

intval hat in diesem Fall überhaupt keine Auswirkung, da es nur auf Zeichenketten angewendet werden kann.

Bsp.:

Code
<?php 
$var1 = 0755; # oktal
$var2 = 755; # dezimal
$var3 = intval($var1, 8); # wirkungslos
$var4 = intval($var2, 8); # wirkungslos

$var5 = "755"; # Zeichenkette '7' '5' '5'
$var6 = intval($var5, 8); # $var5 wird als oktal interpretiert

echo "var1 $var1<br>\n";
echo "var2 $var2<br>\n";
echo "var3 $var3<br>\n";
echo "var4 $var4<br>\n";
echo "var5 $var5<br>\n";
echo" var6 $var6<br>\n";
?>



als Antwort auf: [#211914]
(Dieser Beitrag wurde von oesi50 am 16. Feb 2006, 09:18 geändert)
X