Avatar billede scooterDK Nybegynder
29. september 2010 - 09:17 Der er 5 kommentarer og
1 løsning

Simpelt upload script,...

Hej

Jeg har nu længe prøvet at lave et simpelt upload script, men jeg får heletiden fejlmeddelsen : is empty , fejlmeddelsen kommer fra denne del kode :

  if($userfile_size <= 0){
        die ("$filename is empty");

Det lader til at $filename  er en ukendt faktor.


Så langt så godt, jeg har på fornemmelsen at filnen aldrig bliver registreret og sendt til :

function upload_file(){
    global $userfile, $userfile_name, $userfile_size, $userfile_type, $archive_dir, $windir;

er der nogen der har en ide til hvordan dette kan løses, her er hele koden :

<?php
include_once("config.php");
checkLoggedIn("yes");
doCSS();
$archive_dir = 'dokumenter';
function upload_form(){
    global $PHP_SELF;
?>

<form method="post" enctype="MULTIPART/FORM-DATA" action="<? echo $PHP_SELF ?>">
<input type="hidden" name="action" value="upload">
<input type="file" name="userfile">
<input type="submit" name="action" value="upload">
</form>

<?
}

function upload_file(){
    global $userfile, $userfile_name, $userfile_size, $userfile_type, $archive_dir, $windir;
   
    if(isset($windir)){
        $userfile = str_replace("\\\\","\\", $userfile);
    }
    $filename = basename($userfile_name);
   
    if($userfile_size <= 0){
        die ("$filename is empty");
    }
    if(!@copy($_FILES['userfile']['tmp_name'], "$archive_dir/$filename")){
        die("Can't copy $userfile_name to $filename");
        }
    if(isset($windir) && !@unlink($userfile)){
        die("Can't delete the file $userfile_name");
    }
    echo $filename." has been succesfully uploaded.<br>";
    echo "Filesize: ".number_format($userfile_size)."<br>";
    echo "Filetype: ".$userfile_type."<br>";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>KFUM B&oslash;rkop gruppen</title>
</head>

<body>

<table align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="1" rowspan="3" bgcolor="#005500"></td>
    <td height="2" bgcolor="#005500"></td>
    <td width="2" rowspan="3" bgcolor="#005500"></td>
  </tr>

  <tr>
    <td height="69" bgcolor="#009966"><div align="center"><img src="images/Top_2.png" width="1000" height="100" /></div></td>
  </tr>
  <tr>
    <td height="2" bgcolor="#005500"></td>
  </tr>
  <tr>
    <td bgcolor="#005500"></td>
    <td align="center" valign="top" bgcolor="#009966">
    <?
if ($_POST['action'] == 'upload'){
    upload_file();
} else {
    upload_form();
}
?></td>
    <td bgcolor="#005500"></td>
  </tr>
  <tr>
    <td bgcolor="#005500"></td>
    <td height="2" bgcolor="#005500"></td>
    <td bgcolor="#005500"></td>
  </tr>
</table>

</body>
</html>
Avatar billede repox Seniormester
29. september 2010 - 10:07 #1
Hvor definerer du værdierne af $userfile, $userfile_name, $userfile_size, $userfile_type, $archive_dir, $windir?
Avatar billede tcp Nybegynder
29. september 2010 - 11:12 #2
<?php
if ($_FILES['minfil']) //Har brugeren forsøgt at uploade noget?
{
//Bestem hvor filen skal smides hen og og hvad den skal hedde
$destination = "uploadede_filer/" . $_FILES['minfil']['name'];

//Forsøg at flyttede den uploadede fil har dens midlertidige destination til den nye
if (move_uploaded_file($_FILES['minfil']['tmp_name'], $destination))
{
echo "Filen" . $_FILES['minfil']['name'] . " blevet uploadet";
}
else
{
echo "Der er sket en fejl";
}
}
?>

<form action="eks3.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
Vælg fil: <input name="minfil" type="file">
<input type="submit" value="Upload fil">
</form>
Avatar billede scooterDK Nybegynder
29. september 2010 - 12:40 #3
Repox:
Jeg skal bruge data til at skrive til en db bagefter:

$userfile, $userfile_name, $userfile_size, $userfile_type, $archive_dir, $windir

og de uploadet filer bliver styret af min db.

Dette er blot en del af et større arkiv system, her skal brugeren selv kunne uploade div. dokumenter. der skal også en begrænsning på bestemte filtyper, men det kommer senere.

tcp:
Vil prøve dit forslag lidt senere her i eftermiddag.
Avatar billede scooterDK Nybegynder
29. september 2010 - 12:41 #4
og jeg har husket atributter. de er sat til 777.
Avatar billede scooterDK Nybegynder
29. september 2010 - 12:58 #5
tcp: din løsning virker, dette har løst den opgave jeg har p.t. læg venligst et svar.
Avatar billede tcp Nybegynder
29. september 2010 - 16:18 #6
Super


Du kan læse mer om det her.....

http://www.phpartikler.dk/artikler/filsystem.php#upload
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester