Verktyg Visningsval
2012-04-24, 18:56   #1

pineapple

Medlem

pineapples avatar

Plats: Rymden

Registrerad: dec 2010

Filuppladdning - PHP


Tjena jag har en filuppladdnigssida, där man kan ladda upp bilder etc.
Jag vill få svar på endel frågor som jag har, kan väl börja med
Hur gör jag för att visa direkt url istället för "Klicka här" för att komma till filen?

Hur gör jag för att visa uppladdade filer på just det ipt man är inne på ?

Skulle även vilja ha hjälp med hur jag gör en egen ikon till "Välj fil" och "Ladda upp", hur ändrar man dom?

Slutsats:
Direktlänk istället för "Klicka här"
Visa uppladdade filer på det inloggade IP.
Nya ikoner till "Välj fil" och "Ladda upp"

Tack på förhand.

Senast redigerad av pineapple 2012-04-26 klockan 20:03.
pineapple är inte uppkopplad
2012-04-24, 20:02   #2

Robhult

Medlem

Plats: Göteborg

Registrerad: maj 2011

Kolla igenom http://www.youtube.com/playlist?list...A&feature=plcp så förstår du grunden om hur man laddar upp filer.
__________________
Chassi: Fractal Design R3, PSU: Corsair HX750
Moderkort: Asus P7P55D, Processor: I5-760 3.3Ghz (orginal: 2.8Ghz)
Grafikkort: MSI GTX770 4GB TwinFrozr, RAM: 8Gb 1333Mhz Corsair,
Skärmar: Samsung Syncmaster S24B370 + LG FLATRON E2441
Robhult är inte uppkopplad
2012-04-24, 22:38   #3

atriix

Medlem

atriixs avatar

Plats: 127.0.0.1

Registrerad: nov 2011

För filuppladdning http://www.w3schools.com/php/php_file_upload.asp

I uppladdningsprocessen får du också skapa ett nytt entry i den tabell över filerna i databasen. Förslagsvis med filnamn, storlek, uppladdarens ip och timestamp för uppladdningen. Sedan får du skapa en sida som läser databas tabellen och skapar tabellen som visas i webbläsaren utifrån infon från databasen.

Angående ikoner så behöver du inte använda flash för det, skapa egna bilder att lägga in i knapparna bara.
__________________
FreeNAS Lenovo ThinkCenter m55 8806-CTO | 4GB | 2x2TB ESXi GA-P67A-D3-B3 | i5 2310 | HyperX 32GB 1600MHz | <TB Desktop Dell 22" | Benq 22" | Lenovo Thinkpad T430 | 16GB | Intel 520 120GB | 500GB | Debian
atriix är inte uppkopplad Folding
2012-04-25, 07:37   #4

pineapple

Medlem

pineapples avatar

Plats: Rymden

Registrerad: dec 2010

Citat:
Ursprungligen inskrivet av atriix Visa inlägg
För filuppladdning http://www.w3schools.com/php/php_file_upload.asp

I uppladdningsprocessen får du också skapa ett nytt entry i den tabell över filerna i databasen. Förslagsvis med filnamn, storlek, uppladdarens ip och timestamp för uppladdningen. Sedan får du skapa en sida som läser databas tabellen och skapar tabellen som visas i webbläsaren utifrån infon från databasen.

Angående ikoner så behöver du inte använda flash för det, skapa egna bilder att lägga in i knapparna bara.
Okej tack för svaret.
Men man måste använda flash för att kunna använda ikoner till Ladda upp och Välj fil, om inte hur ändrar jag?
pineapple är inte uppkopplad
2012-04-25, 12:13   #5

atriix

Medlem

atriixs avatar

Plats: 127.0.0.1

Registrerad: nov 2011

Citat:
Ursprungligen inskrivet av Skum-tomte Visa inlägg
Okej tack för svaret.
Men man måste använda flash för att kunna använda ikoner till Ladda upp och Välj fil, om inte hur ändrar jag?
Kolla detta, http://jsfiddle.net/xVB6b/892/

EDIT: Du kan göra fancy CSS3 knappar med denna också https://css-tricks.com/examples/ButtonMaker/
__________________
FreeNAS Lenovo ThinkCenter m55 8806-CTO | 4GB | 2x2TB ESXi GA-P67A-D3-B3 | i5 2310 | HyperX 32GB 1600MHz | <TB Desktop Dell 22" | Benq 22" | Lenovo Thinkpad T430 | 16GB | Intel 520 120GB | 500GB | Debian
atriix är inte uppkopplad Folding
2012-04-25, 14:49   #6

pineapple

Medlem

pineapples avatar

Plats: Rymden

Registrerad: dec 2010

Citat:
Ursprungligen inskrivet av atriix Visa inlägg
Kolla detta, http://jsfiddle.net/xVB6b/892/

EDIT: Du kan göra fancy CSS3 knappar med denna också https://css-tricks.com/examples/ButtonMaker/
Tackar men förstog inte riktigt hur jag fick "Välj fil" att ändra sig. Har bara ändrat ladda upp.
pineapple är inte uppkopplad
2012-04-25, 17:02   #7

atriix

Medlem

atriixs avatar

Plats: 127.0.0.1

Registrerad: nov 2011

Citat:
Ursprungligen inskrivet av Skum-tomte Visa inlägg
Tackar men förstog inte riktigt hur jag fick "Välj fil" att ändra sig. Har bara ändrat ladda upp.
Själva "Välj fil" knappen är lite speciell då den inte är lika lätt att bara göra om. Det man får göra är att lägga ut en egen knapp samt text-ruta och dölja själva fileupload-modulen. Den egna knappen får sedan trigga en funktion som öppnar rutan för att välja fil som sedan lägger till filepathen i fileupload-modulen och visar upp en "fakepath" i din textruta.
__________________
FreeNAS Lenovo ThinkCenter m55 8806-CTO | 4GB | 2x2TB ESXi GA-P67A-D3-B3 | i5 2310 | HyperX 32GB 1600MHz | <TB Desktop Dell 22" | Benq 22" | Lenovo Thinkpad T430 | 16GB | Intel 520 120GB | 500GB | Debian
atriix är inte uppkopplad Folding
2012-04-25, 17:44   #8

pineapple

Medlem

pineapples avatar

Plats: Rymden

Registrerad: dec 2010

Citat:
Ursprungligen inskrivet av atriix Visa inlägg
Själva "Välj fil" knappen är lite speciell då den inte är lika lätt att bara göra om. Det man får göra är att lägga ut en egen knapp samt text-ruta och dölja själva fileupload-modulen. Den egna knappen får sedan trigga en funktion som öppnar rutan för att välja fil som sedan lägger till filepathen i fileupload-modulen och visar upp en "fakepath" i din textruta.
Okej, du vet möjligt vis inte hur man gör ? (själva koden)
pineapple är inte uppkopplad
2012-04-25, 18:11   #9

atriix

Medlem

atriixs avatar

Plats: 127.0.0.1

Registrerad: nov 2011

Citat:
Ursprungligen inskrivet av Skum-tomte Visa inlägg
Okej, du vet möjligt vis inte hur man gör ? (själva koden)
Kolla på länken jag skickade förut.

<input type="file" name="dinfil" />
Denna snutt är där själva filen är, så det är "dinfil" du skall fånga upp i koden som tar emot vilken innehåller filen. Se w3school's länken för hur du skall hantera detta.
__________________
FreeNAS Lenovo ThinkCenter m55 8806-CTO | 4GB | 2x2TB ESXi GA-P67A-D3-B3 | i5 2310 | HyperX 32GB 1600MHz | <TB Desktop Dell 22" | Benq 22" | Lenovo Thinkpad T430 | 16GB | Intel 520 120GB | 500GB | Debian
atriix är inte uppkopplad Folding
2012-04-25, 20:25   #10

pineapple

Medlem

pineapples avatar

Plats: Rymden

Registrerad: dec 2010

Citat:
Ursprungligen inskrivet av atriix Visa inlägg
Kolla på länken jag skickade förut.

<input type="file" name="dinfil" />
Denna snutt är där själva filen är, så det är "dinfil" du skall fånga upp i koden som tar emot vilken innehåller filen. Se w3school's länken för hur du skall hantera detta.
Lyckas inte få det att funka tyvärr :/
pineapple är inte uppkopplad
2012-04-25, 20:29   #11

infinity08

Medlem

Plats: stockholm

Registrerad: aug 2008

Citat:
Ursprungligen inskrivet av Skum-tomte Visa inlägg
Lyckas inte få det att funka tyvärr :/
"Det fungerar inte" är nog det mest intetsägande man kan säga...

VAD är det exakt som inte fungerar? VAD får du för fel? VAD har du för kod?
infinity08 är inte uppkopplad
2012-04-25, 20:58   #12

atriix

Medlem

atriixs avatar

Plats: 127.0.0.1

Registrerad: nov 2011

Citat:
Ursprungligen inskrivet av Skum-tomte Visa inlägg
Lyckas inte få det att funka tyvärr :/
Läs på filuppladdning med PHP först
__________________
FreeNAS Lenovo ThinkCenter m55 8806-CTO | 4GB | 2x2TB ESXi GA-P67A-D3-B3 | i5 2310 | HyperX 32GB 1600MHz | <TB Desktop Dell 22" | Benq 22" | Lenovo Thinkpad T430 | 16GB | Intel 520 120GB | 500GB | Debian
atriix är inte uppkopplad Folding
2012-04-25, 21:18   #13

pineapple

Medlem

pineapples avatar

Plats: Rymden

Registrerad: dec 2010

Citat:
Ursprungligen inskrivet av infinity08 Visa inlägg
"Det fungerar inte" är nog det mest intetsägande man kan säga...

VAD är det exakt som inte fungerar? VAD får du för fel? VAD har du för kod?
Mitt problem är att jag inte kan få själva rutan och ikonen att dölja "välj fil"
Har trixat lite men inte lyckats.
Ikonerna hamnar bredvid "välj fil".

Skickades från m.sweclockers.com
pineapple är inte uppkopplad
2012-04-25, 21:20   #14

pineapple

Medlem

pineapples avatar

Plats: Rymden

Registrerad: dec 2010

Citat:
Ursprungligen inskrivet av atriix Visa inlägg
Läs på filuppladdning med PHP först
Jag får ju fram allt men jag vet inte hur jag gör för att den ska täcka "välj fil". Den hamnar bredvid.



Skickades från m.sweclockers.com
pineapple är inte uppkopplad
2012-04-25, 21:38   #15

atriix

Medlem

atriixs avatar

Plats: 127.0.0.1

Registrerad: nov 2011

Citat:
Ursprungligen inskrivet av Skum-tomte Visa inlägg
Jag får ju fram allt men jag vet inte hur jag gör för att den ska täcka "välj fil". Den hamnar bredvid.



Skickades från m.sweclockers.com
Och din kod ser ut hur då?
__________________
FreeNAS Lenovo ThinkCenter m55 8806-CTO | 4GB | 2x2TB ESXi GA-P67A-D3-B3 | i5 2310 | HyperX 32GB 1600MHz | <TB Desktop Dell 22" | Benq 22" | Lenovo Thinkpad T430 | 16GB | Intel 520 120GB | 500GB | Debian
atriix är inte uppkopplad Folding
2012-04-26, 07:10   #16

pineapple

Medlem

pineapples avatar

Plats: Rymden

Registrerad: dec 2010

Citat:
Ursprungligen inskrivet av atriix Visa inlägg
Och din kod ser ut hur då?
koden är den du skickade till mig, kan skicka den när jag kommer hem.

Skickades från m.sweclockers.com
pineapple är inte uppkopplad
2012-04-26, 14:26   #17

pineapple

Medlem

pineapples avatar

Plats: Rymden

Registrerad: dec 2010

Citat:
Ursprungligen inskrivet av atriix Visa inlägg
Och din kod ser ut hur då?
Index.php
<html>
<head>
<LINK href="css.css" rel="stylesheet" type="text/css">
</head>
<body>
<script type="text/javascript">
var wrapper = $('<div/>').css({height:0,width:0,'overflow':'hidden'});
var fileInput = $(':file').wrap(wrapper);

fileInput.change(function(){
    $this = $(this);
    $(':text').val($this.val());
})

$('#file').click(function(){
    fileInput.click();
}).show();</script>

<div id="file" style="vertical-align: bottom;"><input type="text" name="text" style="margin-right:6px; margin-top:6px;" vlaue="Click the button"/><a href="#" id="button"></a></div>
<input type="file" name="file[]" />
<input type="submit" id="submit" value="">

</body>
Css.css
#file {
    display:none;
}
#button {
   background-image:url('http://dev.ektron.com/images/uploadIcon.gif');
    background-repeat:no-repeat;
    width:30px;
    height:30px;
    display:inline-block;
   }
#submit {
    background-color:transparent;
   background-image:url('http://aux4.iconpedia.net/uploads/9238758011503967108.png');
    background-repeat:no-repeat;
    width:256px;
    height:256px;
    display:inline-block;
    border:0px;
}
#submit:hover{
   background-image:url('http://icons.iconarchive.com/icons/fixicon/slate/256/upload-icon.png');
}
Den koden som du länkade till mig innan.
pineapple är inte uppkopplad
2012-04-26, 15:31   #18

atriix

Medlem

atriixs avatar

Plats: 127.0.0.1

Registrerad: nov 2011

Citat:
Ursprungligen inskrivet av Skum-tomte Visa inlägg
Index.php
Spoiler:
<html>
<head>
<LINK href="css.css" rel="stylesheet" type="text/css">
</head>
<body>
<script type="text/javascript">
var wrapper = $('<div/>').css({height:0,width:0,'overflow':'hidden'});
var fileInput = $(':file').wrap(wrapper);

fileInput.change(function(){
    $this = $(this);
    $(':text').val($this.val());
})

$('#file').click(function(){
    fileInput.click();
}).show();</script>

<div id="file" style="vertical-align: bottom;"><input type="text" name="text" style="margin-right:6px; margin-top:6px;" vlaue="Click the button"/><a href="#" id="button"></a></div>
<input type="file" name="file[]" />
<input type="submit" id="submit" value="">

</body>
Css.css
#file {
    display:none;
}
#button {
   background-image:url('http://dev.ektron.com/images/uploadIcon.gif');
    background-repeat:no-repeat;
    width:30px;
    height:30px;
    display:inline-block;
   }
#submit {
    background-color:transparent;
   background-image:url('http://aux4.iconpedia.net/uploads/9238758011503967108.png');
    background-repeat:no-repeat;
    width:256px;
    height:256px;
    display:inline-block;
    border:0px;
}
#submit:hover{
   background-image:url('http://icons.iconarchive.com/icons/fixicon/slate/256/upload-icon.png');
}

Den koden som du länkade till mig innan.
Till att börja med så har du ju inte lagt in jQuery. Alltså:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.js"></script>
Sedan måste du köra skript prylarna när dokumentet är laddat och inte bara lägga in dem.

Hela sidan skulle kunna se ut så här:
Spoiler:
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.js"></script>
<style type="text/css">
#file {
    display:none;
}
#button {
   background-image:url('http://dev.ektron.com/images/uploadIcon.gif');
    background-repeat:no-repeat;
    width:30px;
    height:30px;
    display:inline-block;
   }
#submit {
    background-color:transparent;
   background-image:url('http://aux4.iconpedia.net/uploads/9238758011503967108.png');
    background-repeat:no-repeat;
    width:256px;
    height:256px;
    display:inline-block;
    border:0px;
}
#submit:hover{
   background-image:url('http://icons.iconarchive.com/icons/fixicon/slate/256/upload-icon.png');
}
</style>
<script type="text/javascript">
$(document).ready(function(){
  var wrapper = $('<div/>').css({height:0,width:0,'overflow':'hidden'});
  var fileInput = $(':file').wrap(wrapper);

  fileInput.change(function(){
      $this = $(this);
      $(':text').val($this.val());
  })

  $('#file').click(function(){
      fileInput.click();
  }).show();
});
</script>

</head>
<body>

<div id="file" style="vertical-align: bottom;"><input type="text" name="text" style="margin-right:6px; margin-top:6px;" vlaue="Click the button"/><a href="#" id="button"></a></div>
<input type="file" name="file[]" />
<input type="submit" id="submit" value="">

</body>


Du vet att du även måste lägga det i en form frö att det skall gå att skicka antar jag.
__________________
FreeNAS Lenovo ThinkCenter m55 8806-CTO | 4GB | 2x2TB ESXi GA-P67A-D3-B3 | i5 2310 | HyperX 32GB 1600MHz | <TB Desktop Dell 22" | Benq 22" | Lenovo Thinkpad T430 | 16GB | Intel 520 120GB | 500GB | Debian
atriix är inte uppkopplad Folding
2012-04-26, 16:37   #19

pineapple

Medlem

pineapples avatar

Plats: Rymden

Registrerad: dec 2010

Citat:
Ursprungligen inskrivet av atriix Visa inlägg
Till att börja med så har du ju inte lagt in jQuery. Alltså:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.js"></script>
Sedan måste du köra skript prylarna när dokumentet är laddat och inte bara lägga in dem.

Hela sidan skulle kunna se ut så här:
Spoiler:
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.js"></script>
<style type="text/css">
#file {
    display:none;
}
#button {
   background-image:url('http://dev.ektron.com/images/uploadIcon.gif');
    background-repeat:no-repeat;
    width:30px;
    height:30px;
    display:inline-block;
   }
#submit {
    background-color:transparent;
   background-image:url('http://aux4.iconpedia.net/uploads/9238758011503967108.png');
    background-repeat:no-repeat;
    width:256px;
    height:256px;
    display:inline-block;
    border:0px;
}
#submit:hover{
   background-image:url('http://icons.iconarchive.com/icons/fixicon/slate/256/upload-icon.png');
}
</style>
<script type="text/javascript">
$(document).ready(function(){
  var wrapper = $('<div/>').css({height:0,width:0,'overflow':'hidden'});
  var fileInput = $(':file').wrap(wrapper);

  fileInput.change(function(){
      $this = $(this);
      $(':text').val($this.val());
  })

  $('#file').click(function(){
      fileInput.click();
  }).show();
});
</script>

</head>
<body>

<div id="file" style="vertical-align: bottom;"><input type="text" name="text" style="margin-right:6px; margin-top:6px;" vlaue="Click the button"/><a href="#" id="button"></a></div>
<input type="file" name="file[]" />
<input type="submit" id="submit" value="">

</body>


Du vet att du även måste lägga det i en form frö att det skall gå att skicka antar jag.
Tackar! Är ganska ny inom HTML PHP och webdesign. Trodde bara det var att lägga in grejerna i .php och .css

Återstånde problem:
- Visa namnet på länken istället för "Klicka här" (för att komma till filen).
- Man kan se sina uppladdade filer på ip:t man är inne på.
pineapple är inte uppkopplad
2012-04-26, 19:30   #20

atriix

Medlem

atriixs avatar

Plats: 127.0.0.1

Registrerad: nov 2011

Citat:
Ursprungligen inskrivet av Skum-tomte Visa inlägg
Tackar! Är ganska ny inom HTML PHP och webdesign. Trodde bara det var att lägga in grejerna i .php och .css

Återstånde problem:
- Visa namnet på länken istället för "Klicka här" (för att komma till filen).
- Man kan se sina uppladdade filer på ip:t man är inne på.
Har du läst på om filuppladdning med PHP? Kan du någon SQL och databashantering? Läs på om det först så kommer du fram till hur du skall lägga till de nya filerna i databasen och sedan lista dem på IP.
__________________
FreeNAS Lenovo ThinkCenter m55 8806-CTO | 4GB | 2x2TB ESXi GA-P67A-D3-B3 | i5 2310 | HyperX 32GB 1600MHz | <TB Desktop Dell 22" | Benq 22" | Lenovo Thinkpad T430 | 16GB | Intel 520 120GB | 500GB | Debian
atriix är inte uppkopplad Folding
2012-04-26, 19:56   #21

pineapple

Medlem

pineapples avatar

Plats: Rymden

Registrerad: dec 2010

Citat:
Ursprungligen inskrivet av atriix Visa inlägg
Har du läst på om filuppladdning med PHP? Kan du någon SQL och databashantering? Läs på om det först så kommer du fram till hur du skall lägga till de nya filerna i databasen och sedan lista dem på IP.
Okej det ska jag göra.
pineapple är inte uppkopplad
2012-04-27, 08:18   #22

havsmonstret

Medlem

havsmonstrets avatar

Plats: Linköping

Registrerad: apr 2010

Citat:
Ursprungligen inskrivet av atriix Visa inlägg
Har du läst på om filuppladdning med PHP? Kan du någon SQL och databashantering? Läs på om det först så kommer du fram till hur du skall lägga till de nya filerna i databasen och sedan lista dem på IP.
Kanske inte förstår dig fullt korrekt men han borde spara filerna direkt på servern och sedan länka till dom i databasen istället för att spara dom i databasen.
havsmonstret är inte uppkopplad Folding
2012-04-27, 08:25   #23

Teknocide

Medlem

Plats: i din garderob

Registrerad: sep 2007

Om man vill göra det light weight behövs inte ens en databas. Spara alla filer i ett directory som motsvarar besökarens IP — man skulle kunna säga att man mappar (bu-dum—pssh!) användarens IP mot server storage. Filerna har själva den information som är intressant: uppladdningsdatum = creation date on disk, etc.
__________________
Bilanaloger är som Volvo — varenda svenne kör med dem
Teknocide är inte uppkopplad
2012-04-27, 11:16   #24

pineapple

Medlem

pineapples avatar

Plats: Rymden

Registrerad: dec 2010

Kan inte så mycket php jag får nog läsa på lite

Skickades från m.sweclockers.com
pineapple är inte uppkopplad
2012-04-27, 11:17   #25

pineapple

Medlem

pineapples avatar

Plats: Rymden

Registrerad: dec 2010

Kan inte så mycket php jag får nog läsa på lite

Skickades från m.sweclockers.com
pineapple är inte uppkopplad
2012-04-27, 13:51   #26

atriix

Medlem

atriixs avatar

Plats: 127.0.0.1

Registrerad: nov 2011

Citat:
Ursprungligen inskrivet av Teknocide Visa inlägg
Om man vill göra det light weight behövs inte ens en databas. Spara alla filer i ett directory som motsvarar besökarens IP — man skulle kunna säga att man mappar (bu-dum—pssh!) användarens IP mot server storage. Filerna har själva den information som är intressant: uppladdningsdatum = creation date on disk, etc.
Ja det är ju också ett alternativ, dock är nog databas att föredra. Men kan ju vara någonting att börja med och sedan vidareutveckla till att ha en databas över filerna.

Ur prestanda synpunkt är det dock bättre med en databas då inte varje fil behöver läsas för att ladda sidan. Men skall man gå light weight och inte har några nämnbara trafikmängder så fungerar det ju.
__________________
FreeNAS Lenovo ThinkCenter m55 8806-CTO | 4GB | 2x2TB ESXi GA-P67A-D3-B3 | i5 2310 | HyperX 32GB 1600MHz | <TB Desktop Dell 22" | Benq 22" | Lenovo Thinkpad T430 | 16GB | Intel 520 120GB | 500GB | Debian
atriix är inte uppkopplad Folding
Senaste nyheterna

Redaktionens senaste nyhetsrubriker

Sök jobb