Avatar billede engaai Nybegynder
04. marts 2004 - 08:42 Der er 4 kommentarer og
2 løsninger

Hjælp til forståelse af script

Hej

Jeg er stødt på følgende script, og eftersom der er dele af det jeg ikke forstår, vil jeg bede en af jer kloge hoveder uddybe det for mig:


$konfiguration["upload_bibliotek"] = "./updir";
/* hvad gør .updir, og hvorfor sætter de det i et array og ikke i en normal variabel? */

$konfiguration["max_stoerrelse"] = "10";

list($major, $minor, $rev) = explode(".", phpversion());
if($major < 4) {
/* Hvad gør $minor, $rev, $explode og $major? Jeg kan ikke finde det i manualen */
  die("Jeg kan kun arbejde med PHP 4.0.0 eller derover");
}
if($minor < 1) {
  $_FILES = $HTTP_POST_FILES;
/* Kan man PHP version 4.1.X ikke bare benytte $_FILES uden at skrive $files = $HTTP_POST_FILES? */

  $_POST = $HTTP_POST_VARS;
  $_SERVER = $HTTP_SERVER_VARS;
}

$fra = $_FILES["upfil"]["tmp_name"];
/* Hvad bliver resultatet når man knytter et array til et andet array som i ovenstående linje? */
$til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];

$fil_stoerrelse = filesize($fra)/1024;
if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) {
  die("Desværre - filen er for stor. Jeg accepterer kun " .
      $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " .
      ceil($fil_stoerrelse, 1) . " kb");
}

if(function_exists("move_uploaded_file")) {
  move_uploaded_file($fra, $til);
/* Hvilken function af copy eller move_uploaded_file skal bruges i PHP version 4.1.x? */
} else {
  copy($fra, $til);
}


Til sidst vil jeg bare spørge om man kan gemme billeder direkte i en kolonne i en database, eller om de skal gemmes ned i en bestemt mappe på serveren.
Jegvil også gerne vide hvornår man bare kan sætte variabler ind i et echo tag, og hvornår der skasl bruges . til at sætte variabler ind i et echo tag.
Håber der er nogen der kan svare mig på mit spørgsmål.
Avatar billede fangel Nybegynder
04. marts 2004 - 08:49 #1
meget af det er relativt besalt PHP / Computer videnskab...

1) at de vælger at lægge konfigurationerne i et array af syns skyld - jo det kunne lige så
    godt ligge i selvstændige variabler

2) ./updir betyder "fra den mapper jeg er i nu og så ind i mappen updir" - af samme style
    som i DOS/Bash

3) hvis du har brug for både at have tekst og variabler i en echo linie adskildes disse af .-er
      fx echo 'tekst' . $variabel . ' mere tekst'; (her kan måde bruges "-er og '-er)
    det kan laves ud i et med normale variabler (echo "tekt $variabel mere tekst", her skal
    bruges "-er) men dette kan man ikke med arrays, konstanter eller objects - så derfor bruges
    .' til at sammensætte strengene.... tekst i '-er er hurtigere at køre end tekst i "-er

Morten
Avatar billede skau Nybegynder
04. marts 2004 - 12:06 #2
/* hvad gør .updir, og hvorfor sætter de det i et array og ikke i en normal variabel? */ ....... Se Mortens Svar

/* Hvad gør $minor, $rev, $explode og $major? Jeg kan ikke finde det i manualen */ ..... Deler resultatet af phpversion() op (. er adskillelses tegn) og tildeler værdien til $major $minor og  $rev

/* Kan man PHP version 4.1.X ikke bare benytte $_FILES uden at skrive $files = $HTTP_POST_FILES? */ ................ Man kan ikke altid regne med at variabler overføres til direkte til siden man kalder - det kan slås fra i serverens php.ini fil, derfor helgarderer han i scriptet så det altid vil virke.
Avatar billede engaai Nybegynder
04. marts 2004 - 14:11 #3
Ok tak skal i have. Jeg mangler stadig at have svar på, om jeg ikke bare kan gemme de billeder mine besøgende uploader i en kolonne i min database, eller om jeg skal lave en bestemt mappe til dem på min server.
Avatar billede skau Nybegynder
04. marts 2004 - 15:29 #4
Brug datatypen blob eller longblob
Avatar billede engaai Nybegynder
04. marts 2004 - 18:10 #5
Det må du lige forklare nærmere, for jeg kender ingen af dem
Avatar billede fangel Nybegynder
05. marts 2004 - 08:07 #6
det er bare to datatyper til MySQL... når du laver tabellen skal du sætte type till en af de to... du kan så få indholdet af filen vha get_file_contents (http://php.net/file_get_contents) og indsætte den i det felt...

Morten
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