webForumDet fria alternativet

Ladda upp utanför webbkatalogen

PHPur PHP

1 svar · 316 visningar · startad av peppar

Medlem sedan dec. 2001873 inlägg
Frågan#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"); 
} 
 
?>
Medlem 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.

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