Jag har ett uppladdningsskripet, ett enkelt sådan jag hittat på nätet. Jag undrar om det går att få skriptet att lägga filen utanför webbroten?
Jag kör winVista, Xamp, apache och PHP.
webroot: c\xamp\apache\webbroot\
destination:c:\xamp\katalog\katalog\katalog\otmb\
Men är detta möjligt? Skriptet ser ut såhär:
<?php
error_reporting(E_ALL);
// Vilka filer skall få laddas upp?
$ext = array(".zip", ".rar", ".gbx");
// Max storlek
$max_file_size = "1194304";
// Vart skall filerna laddas till?
// behörighet krävs!
$target_dir = "C:/xampp/**/**/**/otmb/";
// Fixa lower case
$_FILES['userfile']['name'] = strtolower($_FILES['userfile']['name']);
// Inga mellanslag
$_FILES['userfile']['name'] = str_replace(' ', '_', $_FILES['userfile']['name']);
//Inga '$'
$_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");
}
// Kolla att en fil är uppladdad och flytta den till målkatalogen
if (isset($_POST['submit']) && is_uploaded_file($_FILES['userfile']['tmp_name'])) {
move_uploaded_file($_FILES['userfile']['tmp_name'], $target_dir.$_FILES['userfile']['name']);
// Här kan du lägga in lite data i en databas om du vill det, annars är det bara att
// fortsätta med en Header location.
Header ("Location: upload.php");
}
?>