webForumDet fria alternativet

Ladda upp utanför webbkatalogen

1 svar · 316 visningar · startad av peppar

pepparMedlem sedan dec. 2001873 inlägg
#1

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"); 
} 
 
?>
stevenetMedlem sedan juni 20001 251 inlägg
#2

Det är möjligt, förutsatt att du har rättigheter till det. http://se2.php.net/safe_mode och open_basedir kan förhindra detta beroende på inställningar.

136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)