Oprettet tir. d. 31. januar 2006 kl. 16:16:15

challenge
challenge (9.345 point. Point ude: 60)

Upload script fremgangsmåde

Hej eksperter.

Jeg har søgt dette emne, men det ser ud tal at alle bare vil have færdige scripts - Hvilket jeg ikke vil :)

I forbindelse med mit brugersystem, skal jeg have lavet et upload script.

Jeg er rimelig på bare bund, så hvis nogen kunne komme med et par hints ville det være perfekt! (så som hvilke funktioner jeg skal bruge - Så kan jeg selv slå dem op i manualen :) )

Jeg kunne umidlbart forestille mig noget i den her stil - men det er sikkert mere kompliceret end som så...:

<?
if (isset($_POST["fil"])) {
$dir = "/upload/"
upload_funktion($_FILES['fil'], $dir));
} else {
?>
<form method="POST" action="<? echo $php_self; ?>" enctype="multipart/form-data">
<input type="file" name="userfile"><br>
<input type="submit" value="Upload...">
</form>
<?
}
?>

Men jeg er som sagt på bar bund...

Bare sig til hvis i vil have flere informationer fra min side...!

mvh.

Skrevet tir. d. 31. januar 2006 kl. 16:23:59| #1

gizmo-gizmo
gizmo-gizmo (48.185 point)
Prøv med:

$dir = "/upload/" . $_FILES['userfile']['name'];
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $dir))
{
  echo "Filen blev uploadet";
}
else
{
  echo "idiot";
}

Svært er det heldigvis ikke :-)

Skrevet tir. d. 31. januar 2006 kl. 17:07:05| #2

challenge
challenge (9.345 point)
Desværre virker ikke...

<?
if (isset($_POST["userfile"])) {
$dir = "/upload/" . $_FILES['userfile']['name'];
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $dir))
{
  echo "Filen blev uploadet";
}
else
{
  echo "idiot";
}
} else {
?>
<form method="POST" action="<? echo $php_self; ?>" enctype="multipart/form-data">
<input type="file" name="userfile"><br>
<input type="submit" value="Upload...">
</form>
<?
}
?>

kan det have noget at gøre med min $php_self? Skal det være noget andet?

Ellers tak for svaret!

Skrevet tir. d. 31. januar 2006 kl. 17:08:24| #3

challenge
challenge (9.345 point)
den refresher bare...

Skrevet tir. d. 31. januar 2006 kl. 17:09:48| #4

gizmo-gizmo
gizmo-gizmo (48.185 point)
Ja, prøv med. action="<?=$_SERVER['PHP_SELF']?>"

eller bare skrive action="?"  det burde også være tilstrækkeligt

Skrevet tir. d. 31. januar 2006 kl. 17:11:58| #5

challenge
challenge (9.345 point)
Desværre - Stadig det samme...

Skrevet tir. d. 31. januar 2006 kl. 17:19:43| #6

gizmo-gizmo
gizmo-gizmo (48.185 point)
Puha, jeg kan ikke liiige se hvad der går galt. Prøv evt. at kigge i manualen for et helt (men stadig utrolig simpelt) eksempel:
http://dk.php.net/ (...)

Skrevet tir. d. 31. januar 2006 kl. 17:22:48| #7

17196
17196 (16.619 point)
<form style="margin:0;" method="POST" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data">
          Tekst<br>
        <input name="beskrivelse" type="text" class="tekstarea" style="width:150px;" maxlength="40" /><br>
        Billede:<br>
        <input name="filnavn" type="file" class="tekstarea" style="width:150px;" /><br>
        <input type="Submit" name="Submit" value="Send" />
        <br>
          </form>
<?
if(isset($_POST['Submit']))
{
$mode = '0666';
$filedir = 'gfx/'; //STI TIL BILLED MAPPEN, HUS AT CHMOD MAPPEN
$userfile_name = $_FILES['filnavn']['name'];
$userfile_tmp = $_FILES['filnavn']['tmp_name'];

$prod_img = $filedir.$userfile_name;

move_uploaded_file($userfile_tmp, $prod_img);
chmod ($prod_img, octdec($mode));
echo "Succes";
}
?>

Skrevet tir. d. 31. januar 2006 kl. 17:24:40| #8

jakobdo
jakobdo (181.727 point)
www.codebreaker.dk
Dit problem er dette tjek:
if (isset($_POST["userfile"]))
Du har ikke $_POST['userfile']
Men du har:
$_FILE['userfile']

Skrevet tir. d. 31. januar 2006 kl. 17:24:54| #9

jakobdo
jakobdo (181.727 point)
www.codebreaker.dk
Og det skal være: $_FILES['userfile']

Skrevet tir. d. 31. januar 2006 kl. 17:30:32| #10

jakobdo
jakobdo (181.727 point)
www.codebreaker.dk
Og her er din kode udbygget til fulde:

<?
//http://www.eksperten.dk/spm/684287
if($_FILES['userfile']['size']>0)
{
    echo "<pre>";
    print_r($_FILES);
    echo "</pre>";
   
    $fra = $_FILES['userfile']['tmp_name'];
    $til = "./upload/" . $_FILES['userfile']['name'];
   
    echo "TIL: " . $til . "<br>";
    echo "FRA: " . $fra . "<br>";
   
    if(function_exists("move_uploaded_file"))
    {
      move_uploaded_file($fra, $til);
    }
    else
    {
      copy($fra, $til);
    }

    if(file_exists($til))
    {
      echo "Filen blev uploadet";
    }
    else
    {
      echo "Filen blev ikke uploadet";
    }
}
else
{
    ?>
    <form method="POST" action="<? echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
    <input type="file" name="userfile"><br>
    <input type="submit" value="Upload...">
    </form>
    <?
}
?>

Skrevet tir. d. 31. januar 2006 kl. 17:33:44| #11

challenge
challenge (9.345 point)
Hey - Tak allesammen.

Jeg prøvede dig jakobdo, og det virkede - Men jeg fandt desværre ud af at det ikke kan udføre det da SAFE MODE er on...

Ellers tak for svaret allesammen!

Smider du lige et svar jakobdo?

Skrevet tir. d. 31. januar 2006 kl. 17:36:18| #12

challenge
challenge (9.345 point)
hey jakob, så ikke lige din sidste kommentar.

Får flg. fejl:

Array
(
    [userfile] => Array
        (
            [name] => Checked flag Right.gif
            [type] => image/gif
            [tmp_name] => /tmp/phpwKRrnc
            [error] => 0
            [size] => 10861
        )

)

TIL: ./upload/Checked flag Right.gif
FRA: /tmp/phpwKRrnc

Warning: move_uploaded_file(./upload/Checked flag Right.gif): failed to open stream: Permission denied in /www/helgason.dk/brugersys/upload.php on line 17

Warning: move_uploaded_file(): Unable to move '/tmp/phpwKRrnc' to './upload/Checked flag Right.gif' in /www/helgason.dk/brugersys/upload.php on line 17
Filen blev ikke uploadet

Skrevet tir. d. 31. januar 2006 kl. 17:41:34| #13

challenge
challenge (9.345 point)
Jeg har lige prøvet det på en anden server hvor det virkede - Så jeg må jo bare droppe min lortehost og finde en ny :)

Tak for hjælpen!

Smider du et svar jakob?

Skrevet ons. d. 01. februar 2006 kl. 00:34:30| #14

showsource
showsource (32.621 point)
det er nu næppe host'en som er lort!

Når safe_mode er on, så skal du enten bruge et underdir,

$til = "upload/" . $_FILES['userfile']['name'];

eller definere den fulde sti på disken,

$til = $_SERVER["DOCUMENT_ROOT"] ."/upload/" . $_FILES['userfile']['name'];

Skrevet ons. d. 01. februar 2006 kl. 18:29:59| #15

challenge
challenge (9.345 point)
hmm... Ja det virkede sku... Jeg takker da!
Svarar du så lige engang?

Skrevet tor. d. 02. februar 2006 kl. 18:12:17| #16

challenge
challenge (9.345 point)
hola! Du gi mig svar, eh?

Skrevet fre. d. 03. februar 2006 kl. 18:34:32| #17


Skrevet fre. d. 03. februar 2006 kl. 20:53:55| #18


Skrevet fre. d. 03. februar 2006 kl. 23:48:03| #19

challenge
challenge (9.345 point)
Jamen det var da lige hvad der manglede :)
De er jo ikke de første i denne uge ;)

Skrevet fre. d. 03. februar 2006 kl. 23:50:58| #20


Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Brugerliste med link til profil

Oprettet den 26. maj 2012 kl. 14.29
sayn giver 30 point for svar | Giv et svar »

php curl driller

Oprettet den 26. maj 2012 kl. 08.31
PHPnQrd giver 200 point for svar | Giv et svar »

Array i array

Oprettet den 25. maj 2012 kl. 08.32
sebster giver 60 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger