webForumDet fria alternativet

textarea upload - mitt php skript fungar ej

19 svar · 742 visningar · startad av rundberg

rundbergMedlem sedan mars 2007138 inlägg
#1

Jag har kopplat mitt formulär till en php-fil med innehållet

<?php

if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
?>

Jag har en text area med namnet "file" och min fomr tagg ser ut så här:
<form action="upload_file.php" method="post" enctype="multipart/form-data">

När jag trycker på min "skicka" knapp går php skripet igån som skall ladda upp filen, men det visasd bara:

Upload:
Type:
Size: 0 Kb
Temp file:
already exists.

på skärmen, och filen laddas inte upp till min "upload" mapp.- Vad har jag gjort för fel?

colioneMedlem sedan juni 20013 386 inlägg
#2

Vad har du för rättigheter på mappen?

rundbergMedlem sedan mars 2007138 inlägg
#3

jag satte precis rättigheterna till 777 utan resultat.

Skall koden i sig fungera? är inte så haj på php och har kopierat och modifierat koden lite firån w3:
http://www.w3schools.com/php/php_file_upload.asp

det upload scriptet är för bilder, men tog bort den del av scriptet som sades kontrollera vilken fil typ så jag inte behöver en kontroll.

colioneMedlem sedan juni 20013 386 inlägg
#4

Det känns inte som om du får upp nån fil öht, med tanke på ditt resultat. Hur ser ditt formulär ut?

rundbergMedlem sedan mars 2007138 inlägg
#5

mitt formulär ser ut så här...

<form action="upload_file.php" method="post" enctype="text/plain">
<textarea id="file" name="file" height: 400px; width: 600px;">

</textarea>
<script language="javascript1.2">
  generate_wysiwyg('file');
</script>
<input type="submit" name="submit" value="Submit" />
</form>
@ndersMedlem sedan juni 200026 914 inlägg
#6

Du kan inte ladda upp filer med text/plain som enctype. Du skall använda multipart/form-data.

rundbergMedlem sedan mars 2007138 inlägg
#7

okej tack för svar, men jag har testat det också utan resultat. så inga fler förslag?

colioneMedlem sedan juni 20013 386 inlägg
#8

Vad händer om vi för nöjes skull gör om textarean till en input type="file"

@ndersMedlem sedan juni 200026 914 inlägg
#9

Ja det tänkte jag inte ens på. Man måste ju ha en input type="file" för att kunna skicka en fil...

rundbergMedlem sedan mars 2007138 inlägg
#10

Return Code: 4 får jag då istället

PeddaMedlem sedan juni 20004 880 inlägg
#11

Kod 4 är att filen inte laddades upp
testa att skriva ut för mer debuginfo

echo '<pre>';
print_r($_FILES);
print "</pre>";
rundbergMedlem sedan mars 2007138 inlägg
#12

vad skall jag skriva det?, är väldigt ny på php

PeddaMedlem sedan juni 20004 880 inlägg
#13

Direkt efter return code:.....

echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
echo '<pre>';
print_r($_FILES);
echo '</pre>';
rundbergMedlem sedan mars 2007138 inlägg
#14

Då får jag denna text utskriven

Return Code: 4

Array
(
    [file] => Array
        (
            [name] => 
            [type] => 
            [tmp_name] => 
            [error] => 4
            [size] => 0
        )

)
PeddaMedlem sedan juni 20004 880 inlägg
#15

Hmm, helt tomt ju.

Testa att ändra (har lagt till / framför upload)

if (file_exists("/upload/" . $_FILES["file"]["name"]))

Och hur ser forumuläret ut nu?
Har du multipart/form-data och input type="file"?

<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" >
<br />
<input type="submit" name="submit" value="Submit" >

</form>
colioneMedlem sedan juni 20013 386 inlägg
#16

4 betyder att ingen fil blev uppladdad.

http://se2.php.net/manual/en/features.file-upload.errors.php

Vilket vi även ser på i array du skrev ut.

hur ser ditt formulär ut nu?

PeddaMedlem sedan juni 20004 880 inlägg
#17

Förresten, hur stor är filen du försöker ladda upp?
Har för mig att $_FILES blir tom om filen är större post_max_size i php.ini
(post_max_size ska vara högre än upload_max_filesize)

colioneMedlem sedan juni 20013 386 inlägg
#18

En liten instickare är att om du kör på one.com kommer du ej heller att få ändra dessa storlekar. Och att de kör php i safe mode.

har för mig att du har sagt det tidigare.

rundbergMedlem sedan mars 2007138 inlägg
#19

hmm, jag har inte tillgång till mina filer just nu, och kommer antgligen inte ha det tills imorgon. Hör av mig då om jag inte lycas lösa det tills dess. Tack för alla svar än så länge. Jahg komemr vänta med att markera tråden som löst tills imorgon när jag vet hur det går.

//Rundberg

rundbergMedlem sedan mars 2007138 inlägg
#20

har löst problemet. Tillslut blev det att jag skciakr det till email istället. Kan nog få till en upload funktion nu också
'
tack för all hjälp

Genererad på 387 ms · cache AV · v20260730165559-full.f96bc7eb