Avatar billede proman Nybegynder
11. maj 2006 - 23:15 Der er 23 kommentarer og
1 løsning

Fejl i uploads system

<?
// Henter klassen
require("cls_fileupload.php");

// Brug dine egne oplysninger
$server = "din server";
$bruger = "din bruger";
$kodeord = "din kode";
$database = "din database";

// Forbinder til MySQL og vælger database
mysql_connect("$server","$bruger","$kodeord");
mysql_select_db("$database");

// Her sætter vi klassen op
$fileupload->maxfilesize = 200 * 1024 // 200kb - skal angives i bytes
$fileupload->filetype = "jpg$|jpeg$|gif$|png$"; // jpg, jpeg, gif eller png

// gemmer filen i databasen
$fileupload->upload("filen");

// Lukker vores forbindelse til MySQL
mysql_close();

echo "Filen er blevet gemt";
?>


Kan ikke se fejlen :/

Fejl: Parse error: syntax error, unexpected T_VARIABLE in /hsphere/local/home/flaxion/habbo-times.dk/upload/upload.php on line 14

$fileupload->filetype = "jpg$|jpeg$|gif$|png$"; // jpg, jpeg, gif eller png <- Det er den linje der er fejl i
Avatar billede nielle Nybegynder
11. maj 2006 - 23:20 #1
Prøv at rette "-tegnene til '-tegn:

$fileupload->filetype = "jpg$|jpeg$|gif$|png$";

- til:

$fileupload->filetype = 'jpg$|jpeg$|gif$|png$';
Avatar billede nielle Nybegynder
11. maj 2006 - 23:23 #2
Der mangler også et ; i sætningen lige oven over:

$fileupload->maxfilesize = 200 * 1024 // 200kb - skal angives i bytes

- til:

$fileupload->maxfilesize = 200 * 1024; // 200kb - skal angives i bytes
Avatar billede proman Nybegynder
11. maj 2006 - 23:25 #3
Virker stadig ikke ..

du kan følge det på www.habbo-times.dk/upload/upload.html
Avatar billede nielle Nybegynder
11. maj 2006 - 23:27 #4
Hvordan ser din kode ud nu?
Avatar billede proman Nybegynder
11. maj 2006 - 23:27 #5
<?
// Henter klassen
require("cls_fileupload.php");

// Forbinder til MySQL og vælger database
include("../db.php");

// Her sætter vi klassen op
$fileupload->maxfilesize = 200 * 1024 // 200kb - skal angives i bytes
$fileupload->filetype = 'jpg$|jpeg$|gif$|png$'; // jpg, jpeg, gif eller png

// gemmer filen i databasen
$fileupload->upload("filen");

// Lukker vores forbindelse til MySQL
mysql_close();

echo "Filen er blevet gemt";
?>
Avatar billede nielle Nybegynder
11. maj 2006 - 23:28 #6
Du mangler rettelsen fra 11/05-2006 23:23:29
Avatar billede proman Nybegynder
11. maj 2006 - 23:39 #7
Stadig fejl :S
Avatar billede nielle Nybegynder
11. maj 2006 - 23:42 #8
Men trods alt en ny fejl...

Hvad står der i linje 15 siden at du nu får denne fejl?

Parse error: syntax error, unexpected '{' in /hsphere/local/home/flaxion/habbo-times.dk/upload/cls_fileupload.php on line 15

Der er nemlig ikke ogen { i det kod du har vist indtil nu.
Avatar billede nielle Nybegynder
11. maj 2006 - 23:45 #9
Fejlen er i denne her fil: cls_fileupload.php

Prøv at poste den kode.
Avatar billede proman Nybegynder
11. maj 2006 - 23:47 #10
<?
class cls_fileupload {
  var $maxfilesize;
  var $filetype;

  function upload ($filefield) {

    // Først henter vi vores felter i arrayet $_FILES
    $filefield = $_FILES[$filefield]['tmp_name'];
    $filefield_name = $_FILES[$filefield]['name'];
    $filefield_size = $_FILES[$filefield]['size'];
    $filefield_type = $_FILES[$filefield]['type'];
   
    if ((isset($this->type) != true or eregi("(.)+\\.(".$this->filetype.")",$filefield_name))
    and (isset($this->maxfilesize) != true or $this->maxfilesize <= $filefield_size) {
     
      // Så gør vi vores indholdet af vores fil klar til at komme ned i databasen
      $data = addslashes(fread(fopen($filefield, "r"), filesize($filefield)));

      // Så gemmer vi filen i vores database
      mysql_query("INSERT INTO filer (name, data, size, type) \n VALUES
      (´".$filefield_name."´, ´".$data."´, ´".$filefield_size."´, ´".$filefield_type."´)");
  }

  function vis ($id) {
    // Her henter vi vores data
    $resultat = mysql_query("SELECT data, type from filer where id = ".$id);
    while($raekke = mysql_fetch_array($resultat)) { $svar[] = $raekke; }
   
    // Hvis $id ikke findes i databasen
    if (sizeof($svar) == 0) {
      echo "Kunne ikke finde filen med id ".$id." i databasen!!!";

    } else {
      // Hvis $id findes i databasen
      // Træk værdierne ud
      extract($svar[0]);

      // sæt typen af indholdet (Husk at der ikke må være sendt noget før!)
      header("content-type: ".$type);

      // Udskriv filen
      echo $data;
    }
  }

  function slet ($id) {
    // Slet $id
    mysql_query("DELETE FROM filer WHERE id = ".$id.";");
  }
}
// Nu mangler vi bare at lave en henvisning til vores klasse
$fileupload = new cls_fileupload;
?>
Avatar billede nielle Nybegynder
11. maj 2006 - 23:51 #11
Denne linje:

if ((isset($this->type) != true or eregi("(.)+\\.(".$this->filetype.")",$filefield_name))
    and (isset($this->maxfilesize) != true or $this->maxfilesize <= $filefield_size) {

- skal rettes til:

if ((isset($this->type) != true or eregi("(.)+\\.(".$this->filetype.")",$filefield_name))
    and (isset($this->maxfilesize) != true or $this->maxfilesize <= $filefield_size)) {
Avatar billede proman Nybegynder
12. maj 2006 - 00:06 #12
nu kommer der en ny fejl :S
Avatar billede nielle Nybegynder
12. maj 2006 - 00:10 #13
Ja, er det ikke bare dejlig at phpuniverset's kode er fuld afd fejl ;^)

Ret:

$fileupload = new cls_fileupload;

- til:

$fileupload = new cls_fileupload();
Avatar billede proman Nybegynder
12. maj 2006 - 00:18 #14
mega :P
Avatar billede proman Nybegynder
12. maj 2006 - 00:21 #15
Ny fejl >_>

For lige at samle selve kode kommer den her:

<?
class cls_fileupload {
  var $maxfilesize;
  var $filetype;

  function upload ($filefield) {

    // Først henter vi vores felter i arrayet $_FILES
    $filefield = $_FILES[$filefield]['tmp_name'];
    $filefield_name = $_FILES[$filefield]['name'];
    $filefield_size = $_FILES[$filefield]['size'];
    $filefield_type = $_FILES[$filefield]['type'];
   
    if ((isset($this->type) != true or eregi("(.)+\\.(".$this->filetype.")",$filefield_name))
    and (isset($this->maxfilesize) != true or $this->maxfilesize <= $filefield_size)) {
     
      // Så gør vi vores indholdet af vores fil klar til at komme ned i databasen
      $data = addslashes(fread(fopen($filefield, "r"), filesize($filefield)));

      // Så gemmer vi filen i vores database
      mysql_query("INSERT INTO filer (name, data, size, type) \n VALUES
      (´".$filefield_name."´, ´".$data."´, ´".$filefield_size."´, ´".$filefield_type."´)");
  }

  function vis ($id) {
    // Her henter vi vores data
    $resultat = mysql_query("SELECT data, type from filer where id = ".$id);
    while($raekke = mysql_fetch_array($resultat)) { $svar[] = $raekke; }
   
    // Hvis $id ikke findes i databasen
    if (sizeof($svar) == 0) {
      echo "Kunne ikke finde filen med id ".$id." i databasen!!!";

    } else {
      // Hvis $id findes i databasen
      // Træk værdierne ud
      extract($svar[0]);

      // sæt typen af indholdet (Husk at der ikke må være sendt noget før!)
      header("content-type: ".$type);

      // Udskriv filen
      echo $data;
    }
  }

  function slet ($id) {
    // Slet $id
    mysql_query("DELETE FROM filer WHERE id = ".$id.";");
  }
}
// Nu mangler vi bare at lave en henvisning til vores klasse
$fileupload = new cls_fileupload();
?>
Avatar billede nielle Nybegynder
12. maj 2006 - 00:31 #16
Ret dette:

  function upload ($filefield) {

    // Først henter vi vores felter i arrayet $_FILES
    $filefield = $_FILES[$filefield]['tmp_name'];
    $filefield_name = $_FILES[$filefield]['name'];
    $filefield_size = $_FILES[$filefield]['size'];
    $filefield_type = $_FILES[$filefield]['type'];
   
    if ((isset($this->type) != true or eregi("(.)+\\.(".$this->filetype.")",$filefield_name))
    and (isset($this->maxfilesize) != true or $this->maxfilesize <= $filefield_size) {
     
      // Så gør vi vores indholdet af vores fil klar til at komme ned i databasen
      $data = addslashes(fread(fopen($filefield, "r"), filesize($filefield)));

      // Så gemmer vi filen i vores database
      mysql_query("INSERT INTO filer (name, data, size, type) \n VALUES
      (´".$filefield_name."´, ´".$data."´, ´".$filefield_size."´, ´".$filefield_type."´)");
  }

- til dette:

  function upload ($filefield) {

    // Først henter vi vores felter i arrayet $_FILES
    $filefield = $_FILES[$filefield]['tmp_name'];
    $filefield_name = $_FILES[$filefield]['name'];
    $filefield_size = $_FILES[$filefield]['size'];
    $filefield_type = $_FILES[$filefield]['type'];
   
    if ((isset($this->type) != true or eregi("(.)+\\.(".$this->filetype.")",$filefield_name))
    and (isset($this->maxfilesize) != true or $this->maxfilesize <= $filefield_size) {
     
      // Så gør vi vores indholdet af vores fil klar til at komme ned i databasen
      $data = addslashes(fread(fopen($filefield, "r"), filesize($filefield)));

      // Så gemmer vi filen i vores database
      mysql_query("INSERT INTO filer (name, data, size, type) \n VALUES
      (´".$filefield_name."´, ´".$data."´, ´".$filefield_size."´, ´".$filefield_type."´)");
  }
}  // <<--- Denne tuborg manglede.
Avatar billede proman Nybegynder
12. maj 2006 - 16:45 #17
Ja okay, det virker ..

Men ved ikke rigtig hvad det skulle bruges til :/
Troede det var sådan at man uploade en billedfil, og den blev så smidt i databasen.
Derefter kunne man så se den på en side..

Men jeg tog fejl -.-

Men anyway, smid lige et svar.

P.S. kunne det være at du måske ville hjælpe mig med at lave et uploadings system sådan at man uploade en fil, så blev den smidt i en mappe i en FTP, også på en side man så ville blive sendt til efter man har uploadet, der kan man så se urlen til billedet f.eks. "www.habbo-times.dk/uploads/images/lala.gif", og nedenunder urlen kan man så se selve billedet.

altså det skal fungere lidt ligesom imageshack.us :D

-> Du vil self. få nogle 100 point :D
Avatar billede nielle Nybegynder
12. maj 2006 - 18:51 #18
Hej, desværre har jeg ikke den store erfaring med at lave upload scripts, så det kan jeg nok ikke lige hjælpe dig med. Men hvis du stiller et spørgsmål her kan det jo være at der er andre herinde som kan hjælpe dog på vej.

Men, så vidt jeg kan bedømme, så lægger den viste kode fra:

http://www.phpuniverset.dk/show_artikels.phtml?ArtikelID=14&artikel=Fileupload.til.database

- faktisk det uploadede billede ind i databasen. De gør sig bare ikke noget besvær med at vise hvordan du så får det ud igen sådan at det kan ses på hjemmesiden.

Jeg har dog ikke kigget nærmere på koden ... det er jo tydeligt at den aldrig nogensinde er blevet testet efter for om den rent faktisk virker – vi har jo til sammen lige fundet minimum 4 kodefejl – så den slags gider jeg ikke at bruge min tid på. :^(

Under alle omstændigheder vil jeg ikke normalt tilråde at man lægger billedder ind i sin database. Det er ikke noget som performer specielt godt på nogen måde. De bør blive liggende ude i filstrukturen.
Avatar billede nielle Nybegynder
12. maj 2006 - 18:51 #19
... og et svar ^)
Avatar billede nielle Nybegynder
18. maj 2006 - 18:09 #20
Så mangler du bare at accentere svaret :^)
Avatar billede proman Nybegynder
18. maj 2006 - 18:31 #21
Her
Avatar billede nielle Nybegynder
18. maj 2006 - 18:42 #22
Du skal markere navnet ude i venstre side før at du kan acceptere et svar.
Avatar billede nielle Nybegynder
01. juni 2006 - 22:09 #23
??
Avatar billede proman Nybegynder
02. juni 2006 - 13:00 #24
Havde lige glemt at acceptere *G*
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