/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Upload
Fra : konsolsiden


Dato : 10-10-04 21:08

Hej jeg har fundet det her upload script, men problemet er at når man
uploader en fil som hedder det samme som en der allerede er der, så sletter
det den gamle, kan man ikke lave sådan så at den siger "der findes allerede
en fil med dette navn, gå venligst tilbage, omdøb filen og prøv igen." eller
noget i den retning. på forhånd tak.

her er kildekoden:



<html><head><title>Upload resultat</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body bgcolor="black" text="#D00A0A">

<center>

<table><tr>
<td><?php

//hmm, lidt kode til "rigtig lukning" af html'en ved fejl
$stop = "</td>\n</tr></table>\n</center></body></html>";

//stien, hvortil filer skal uploades, her et subdir til roden af domænet
$dist = $_SERVER["DOCUMENT_ROOT"] ."/xtremecheat/xbox/saves/";

//Er det en enkelt fil? (singlefile)
if(isset($_FILES["singlefile"])) {

//til brug for info om filtyper
$str1 = $_FILES["singlefile"]["name"];
$str2 = $_FILES["singlefile"]["size"];
$str3 = $_FILES["singlefile"]["type"];


//Filer som kan uploades
$filetyper = array("application/x-zip-compressed",
"application/octet-stream");

//Tjek om der er en fil
if ($_FILES["singlefile"]["name"] == "") {
echo"Ingen fil valgt! <a href=\"xb.php\">tilbage</a>";
echo $stop;
exit;
}

//Tjek om filen er i array'et af tiladte filtyper
if (!in_array($_FILES["singlefile"]["type"], $filetyper)) {
echo "Filen kan ikke uploades.<br>\n<b>". $str3 ."</b> er ikke tilladt for
upload! <a href=\"xb.php\">tilbage</a>";
echo $stop;
exit;
}


//se http://dk.php.net/manual/en/function.is-uploaded-file.php for
"is_uploaded_file"
if(is_uploaded_file($_FILES["singlefile"]["tmp_name"])) {

//Flyt filen fra upload-tmp til et dir. Husk at ændre "$dist" ovenover så
det passer med din server
move_uploaded_file($_FILES["singlefile"]["tmp_name"], $dist .
$_FILES["singlefile"]["name"]);

echo"&Oslash;nsket fil til upload:<p>\n";
echo "<b>Navn:</b> ". $str1 .",<br>\n";
echo"<b>St&oslash;rrelse:</b> ". $str2 ." bytes,<br>\n";
echo"<b>Filtype:</b> ". $str3 ."<br>\n";
echo "<a href=\"xb.php\">tilbage</a>";

}else{
echo"Sorry, men upload skete IKKE!";
}

}

//FLERE FILER PÅ SAMME TID FLERE FILER PÅ SAMME TID

if (isset($_FILES["upfile"])) {

echo"&Oslash;nskede filer til upload:<p>\n";

$antal = 0;

//Find antallet af filer til upload med en for-løkke
for($i = 0; $i < count($_FILES["upfile"]["name"]); $i++) {

if ($_FILES["upfile"]["name"][$i] !="") {
//Læg en til $antal for hver fil.
$antal++;
if(is_uploaded_file($_FILES["upfile"]["tmp_name"][$i])) {

move_uploaded_file($_FILES["upfile"]["tmp_name"][$i], $dist .
$_FILES["upfile"]["name"][$i]);

//til brug for info om filtyper
$str1 = $_FILES["upfile"]["name"][$i];
$str2 = $_FILES["upfile"]["size"][$i];
$str3 = $_FILES["upfile"]["type"][$i];

echo "<b>Navn:</b> ". $str1 .", <b> st&oslash;rrelse:</b> ". $str2 ."
bytes, <b>filtype:</b> ". $str3 ."<br>\n";

}else{

echo"Upload til serveren skete ikke!";

}
}
}

if($antal < 1) { //Hvis der ingen filer er valgt
echo"V&aelig;lg en eller flere filer til upload! <a
href=\"xb.php\">tilbage</a>";
}else{
echo"<a href=\"xb.php\">tilbage</a>";
}

}
?></td>

</tr></table>

</center>

</body></html>



 
 
Thomas Lindgaard (12-10-2004)
Kommentar
Fra : Thomas Lindgaard


Dato : 12-10-04 09:53

On Sun, 10 Oct 2004 22:08:24 +0200, konsolsiden wrote:

> Hej jeg har fundet det her upload script, men problemet er at når man
> uploader en fil som hedder det samme som en der allerede er der, så sletter
> det den gamle, kan man ikke lave sådan så at den siger "der findes allerede
> en fil med dette navn, gå venligst tilbage, omdøb filen og prøv igen." eller
> noget i den retning. på forhånd tak.

Hejsa

Du skal have fat i noget file_exists() før kaldet til move_uploaded_file():

if ( file_exists($dist . $_FILES['singlefile']['name'] )
{
print 'filen findes i forvejen';
}
else
{
move_uploaded_file();
}

Mvh.
/Thomas

konsolsiden (18-10-2004)
Kommentar
Fra : konsolsiden


Dato : 18-10-04 19:59

Ok, mange tak!



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408942
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste