Hejsan hej!
Har skapat ett system där man reggar sig och så skapas en mapp mitt sitt valda namn och alla filer man laddar upp hamnar i den mappen.
Det funkar bra att regga sig och skapa mapparna även om jag hade lite problem att få rättigheterna till att bli 0777 till att börja med.
Iallafall så här är det: Jag har två användare Rickard & tst. När jag loggar in med rickard så går det jätte bra att ladda upp bilder och hans mapp har rättigherna 0777. Men loggar jag in med tst och försöker ladda upp något får jag fel meddelande fast han också har rättigheterna 0777 på sin mapp.
Fel meddelandet:
Warning: move_uploaded_file(): SAFE MODE Restriction in effect.
The script whose uid is 32099 is not allowed to
access /home/lobo/public_html/bilder/tst owned by uid 99
in /home/lobo/public_html/upload2.php on line 43
Warning: Cannot modify header information - headers already
sent by (output started
at /home/lobo/public_html/upload2.php:43)
in /home/lobo/public_html/upload2.php on line 48
Så här skapar jag mapparna:
$mask = umask(0);
mkdir ("bilder/".$anv."", 0777 );
umask($mask);
Och rad 43 är:
move_uploaded_file($_FILES['userfile']['tmp_name'], $target_dir.$_FILES['userfile']['name']);
Hela upload scriptet:
<?php
$ext = array(".zip", ".jpg", ".gif");
$max_file_size = "1194304";
$target_dir = $_GET["anv"];
$_FILES['userfile']['name'] = strtolower($_FILES['userfile']['name']);
$_FILES['userfile']['name'] = str_replace(' ', '_', $_FILES['userfile']['name']);
$_FILES['userfile']['name'] = str_replace('$', '_', $_FILES['userfile']['name']);
$file_name = $_FILES['userfile']['name'];
$file_name = strrchr($file_name, ".");
if(!in_array($file_name,$ext))
{
$error = "Du kan inte ladda upp en fil med det filformatet. Dom som stöds är ";
foreach( $ext as $exts ){
$error .= "$exts ";
}
die ("$error");
}
$file_size = $_FILES['userfile']['size'];
if($file_size > $max_file_size) {
die ("Filen är för stor, max storleken är ".$max_file_size." Kb");
}
if (isset($_POST['submit']) && is_uploaded_file($_FILES['userfile']['tmp_name'])) {
move_uploaded_file($_FILES['userfile']['tmp_name'], $target_dir.$_FILES['userfile']['name']);
Header ("Location: upload.php?all=done");
}
?>
Och förresten så skapade jag mappen Rickard manuelt dvs gick in på servern och skapade mappen samt satte rättigheterna om det kan ha någon skillnad.
Tacksam för svar :bire