webForumDet fria alternativet

Hjälp med uppladningsscript!?

7 svar · 3 059 visningar · startad av Pluggis

PluggisMedlem sedan nov. 2006129 inlägg
#1

Hej jag har fått tag på ett uppladdningsscript jag behöver för min sida.
Jag kan inte speciellt mycket om php så behöver hjälp av er.

Jag vill spärra så man bara kan ladda upp filer av typen: .doc, .text, .pdf och kanske några fler...

Kan någon hjälpa mig med det? här är koden:

<?
include("config.php");

function path_options()
{
 global $upload_dirs;
  $option = "";
  foreach ($upload_dirs as $path => $pinfo)
  {
    $option .= '<option value="'.$path.'">'.$pinfo["name"].'</option>';
  }
 return $option;
}

function check_vals()
{
 global $upload_dirs, $err;
	if (!ini_get("file_uploads")) { $err .= "Filen har blockerats! Kontakta Pluggis.nu"; return 0; }
	$pos = strpos(ini_get("disable_functions"), "move_uploaded_file");
	if ($pos !== false) { $err .= "Filen har blockerats! Kontakta Pluggis.nu"; return 0; }
  if (!isset($_POST["path"]) || (strlen($_POST["path"]) == 0)) { $err .= "Fyll i alla fält!"; return 0; }
  if (!isset($upload_dirs[$_POST["path"]])) { $err .= "Kunde inte hitta filen!"; return 0; }
  if (!isset($_POST["pwd"]) || (strlen($_POST["pwd"]) == 0)) { $err .= "Du glömde kontrollkoden!"; return 0; }
  elseif ($_POST["pwd"] != $upload_dirs[$_POST["path"]]["password"]) { $err .= "Fel Kontrollkod!"; return 0; }
  if (!isset($_FILES["userfile"])) { $err .= "För stor fil!"; return 0; }
  elseif (!is_uploaded_file($_FILES['userfile']['tmp_name'])) { $err .= "För stor fil!"; return 0; }
 return 1;
}

$err = ""; $status = 0;
if (isset($_POST["upload"])) {
  if (check_vals()) {
    if (filesize($_FILES["userfile"]["tmp_name"]) > $max_file_size) $err .= "Maximal filstorlek: $max_file_size bytes";
    else {
      if (move_uploaded_file($_FILES["userfile"]["tmp_name"], $upload_dirs[$_POST["path"]]["dir"].$_FILES["userfile"]["name"])) {
				$status = 1;
			}
      else $err .= "Någon gick fel!";
    }
  }
}

if (!$status) {
  if (strlen($err) > 0) echo "<h4>$err</h4>";
}
else {
  echo "<h4>&quot;".$_FILES["userfile"]["name"]."&quot; Har laddats upp korrekt!</h4>";
}
?>
colioneMedlem sedan juni 20014 421 inlägg
#2

Frågan är ställd i fel forum. Detta forum är till för färdiga script från wFs medlemmar som man kan använda/utgå ifrån.

Är det otydligt att det finns ett forum för hjälp med PHP? Behöver vi förtydliga förklaringarna att detta forum är till för script från forumets medlemmar mer än det som står som rubrik tilll forumet? "Script från wFs medlemmar"

Inlägget rapporterat för förflyttning.

NiklassonMedlem sedan nov. 2000857 inlägg
#3

Tråden flyttad från Script - PHP...

NiklassonMedlem sedan nov. 2000857 inlägg
#4

Jag kommer ihåg att det finns ett bra sätt att ta fram filändelsen i PHP, men kommer inte ihåg vilken function det är.. Kolla manualen på http://se.php.net

itpastornMedlem sedan feb. 2007278 inlägg
#5

Jag vet att man kan göra tvärtom från vad Niklasson föreslår, med basename(), men filändelsen får du nog kontrollera med preg_match

Regexp: /.*\.(doc|txt|pdf)$/

PluggisMedlem sedan nov. 2006129 inlägg
#6

alltså jag sa att jag inte kan speciellt mycket php..
kan någon berätta hur man lägger in det?
tack...

colioneMedlem sedan juni 20014 421 inlägg
#7

Har du lust att svara på min fråga också? Så vi vet hur vi kan förbättra forumet.

PluggisMedlem sedan nov. 2006129 inlägg
#8

ja jag tycket det är ganska otydligt, eftersom jag uppenbarligen gjorde fel med postningen så... tycker det känns som man alltid lägger trådarna fel.
Se över alla är mitt råd!

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