---
title: "Välj namn på fil som laddas upp"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/137881-välj-namn-på-fil-som-laddas-upp"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "learn"
published: "2005-11-18T11:32:38.000Z"
updated: "2005-11-18T20:18:54.000Z"
replies: 3
views: 237
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/137881-välj-namn-på-fil-som-laddas-upp"
---

# Välj namn på fil som laddas upp

## #1 — learn, 2005-11-18T11:32Z

Jag har ett upload-script som fungera bra. Nu vill jag att användaren ska kunna välja filnamnet. Hur göra?

```php
	<form name="form" ENCTYPE="multipart/form-data" method="post" action="?upload">

	<p>Välj fil</p>
	<p><INPUT TYPE="file" NAME="userfile" class="form"></p>

	<p style="margin-top:15px">Namn på filen</p>
	<p><INPUT TYPE="text" NAME="filnamn" class="form"></p>

	<p class="link" style="margin-top:15px"><a href="#" onClick="document.form.submit()">Ladda upp</a></span></p>

	</form>

<?
if (isset($_GET["doupload"])) {

	$max_size = 500000; // Maxstorlek
		
	// Kontrollerar filens storlek
	if ($HTTP_POST_FILES['userfile']['size']>$max_size) {
					$error = "big";
	} else {
	
		// Kontrollerar filtypen
		if (($HTTP_POST_FILES['userfile']['type']=="image/gif") || ($HTTP_POST_FILES['userfile']['type']=="image/pjpeg") || ($HTTP_POST_FILES['userfile']['type']=="image/jpeg") || ($HTTP_POST_FILES['userfile']['type']=="image/png")) {
				
			// Kontrollerar ifall filnamnet redan finns
			if (file_exists($dir . $HTTP_POST_FILES['userfile']['name'])) {
				$error = "name"; // Filnamnet fanns redan

			// Om det inte finns så laddas filen upp
			} else {

				// Laddar upp filen
				$res = copy($HTTP_POST_FILES['userfile']['tmp_name'], $dir .$HTTP_POST_FILES['userfile']['name']);
			}

		// Fel filtyp
		} else {
			$error = "type";

		} // Filtypskontroll

	} // Storlekskontroll

} // Upload

?>
```

Permalänk: https://www.webforum.nu/p/137881

## #2 — learn, 2005-11-18T12:52Z

Jaja...

Jag hittade iaf ett script som jag tror att jag kan fixa till lite. Men jag har stött på ett litet problem i scriptet, den del som verifierar att filtypen är tilåten. Det verkar som att preg_split inte fungerar...

Så här ser kod-stycket ut:

```php
$filename = strtolower($_FILES['userfile']['name']); // Get file name; make it all lowercase

$file_ext = preg_split("/./",$filename); // Split filename at period (name.ext)
$allowed_ext = preg_split("/,/",$allowed_ext); // Create array of extensions
foreach($allowed_ext as $ext){
   if($ext==$file_ext[1]) $match = "1"; // File is allowed
}

// File extension not allowed
if($match!="1"){
   $error .= "- File type '".$file_ext[1]."' isn't allowed: $filename<br>";
}
```

 
Problemet är att "$file_ext\[1\]" inte innehåller något... Why???

Permalänk: https://www.webforum.nu/p/1712312

## #3 — Dies_Irae, 2005-11-18T13:18Z

prova explode
$data = explode(".", $fil);
$endelse = $data\[count\[$data\]-1\];
eller liknande, borde fungera.

Permalänk: https://www.webforum.nu/p/1712327

## #4 — aasah, 2005-11-18T20:18Z

Eller:

```
$lastPointPos = strrpos($fil, '.');
$ext = substr($fil, $lastPointPos + 1); //Plockar ut allt efter sista punkten
```

Permalänk: https://www.webforum.nu/p/1712486

---

Tråden på webben: https://www.webforum.nu/amne/php/137881-välj-namn-på-fil-som-laddas-upp
