logo   PHP $_FILES - Simpel




Nedenfor er vist koden til et simpelt program til upload af filer (både billeder og tekster).


Programmet er baseret på at alle filer opbevares i samme mappe og at filnavne indsægges i en DB-tabel som 'update'. F.eks. tabel med stamdata. Skal der kunne håndteres mere end et billede på stamdataenhed vil det være nødvendigt med en separat tabel.


Koden til kontrol mod DB-tabel for gyldig filpræfix kan evt. undlades.


<?php
$fejlbeskeder = "";
$file_dest = "";
$dok_id = "";
if (isset ($_GET['dok_id'])) // start GET
{
$dok_id = $_GET['dok_id'];

        if (isset ($_POST['submit'])) //start POST
       {
       $file = ($_FILES['file']);
       $file_name = $file['name'];
       $file_tmp = $file['tmp_name'];
       $file_size = $file['size'];
       $file_error = $file['error'];

       $file_ext = explode('.', $file_name);
       $file_ext = strtolower(end($file_ext));

       $query = "SELECT * FROM filsuffix
       ORDER BY filsuf_navn ASC";
       $result = mysqli_query($db_link, $query) or die (mysqli_error ($db_link));
       while ($row = mysqli_fetch_assoc ($result))
       {
       $filsuf[] = $row['filsuf_navn'];
       }

       if(in_array($file_ext, $filsuf))
       {}
       else
       {
       $fejlbeskeder .= "Fil med denne extension er ikke tilladt<br />";
       }

       if($file_error === 0){}
       else
       {
       $fejlbeskeder .= "Fejl vi upload $file_error<br />";
       }

       if ($fejlbeskeder == "") // fejlbeskeder
       {
       $tid = date("YmdGis");
       $dok_fil = $tid . "_" . $file_name;

       $file_dest = 'dokumenter/' . $dok_fil;
          if(move_uploaded_file($file_tmp, $file_dest))
          {
          $dok_fil_a = mysqli_real_escape_string($db_link, $dok_fil);
          $query = "
             UPDATE dokstam SET
             dok_fil = '$dok_fil_a'
             WHERE dok_id = $dok_id";
             $result = mysqli_query ($db_link, $query) or die (mysqli_error ($db_link));
             header ("Location: stammenu_select.php");
             exit;
          }
          else
          {
       $fejlbeskeder .= "Filen er ikke uploaded.<br />";
          } //move_upload
       }
    } // slut POST

    if (isset ($fejlbeskeder) && $fejlbeskeder != "")
    {
       $fejlbeskeder .= "dokfil_update.php";
       echo "<fieldset class='red'>";
       echo "<legend>Fejltekster</legend>";
       echo $fejlbeskeder;
       echo "</fieldset>";
    }
?>
    <form method="post" enctype="multipart/form-data">
       <fieldset class="form-group">
          <label for="upload" class="col-sm-2">Upload fil</label>
          <div class="col-sm-3">
             <input type="file" class="form-control" id="upload" name="file">
          </div>
       </fieldset>
       <fieldset class="form-group">
          <div class="col-sm-push-2 col-sm-10">
             <input type="submit" class="btn btn-success" name="submit" value="Upload dokument">
          </div>
       </fieldset>
    </form>
<?php
}
else
{
    echo "<p>Der problemer med URL-parameter i adresselinien</p>";
} // slut isset GET
?>
</div>




















x
x