rundberg Medlem sedan mars 2007 116 inlägg Trådstart 24 maj 2007 09:18 #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?
C colione Medlem sedan juni 2001 4 421 inlägg Vad har du för rättigheter på mappen?
rundberg Medlem sedan mars 2007 116 inlägg 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.
C colione Medlem sedan juni 2001 4 421 inlägg 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?
rundberg Medlem sedan mars 2007 116 inlägg 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>
@nders Medlem sedan juni 2000 32 967 inlägg Du kan inte ladda upp filer med text/plain som enctype. Du skall använda multipart/form-data .
rundberg Medlem sedan mars 2007 116 inlägg okej tack för svar, men jag har testat det också utan resultat. så inga fler förslag?
C colione Medlem sedan juni 2001 4 421 inlägg Vad händer om vi för nöjes skull gör om textarean till en input type="file"
@nders Medlem sedan juni 2000 32 967 inlägg Ja det tänkte jag inte ens på. Man måste ju ha en input type="file" för att kunna skicka en fil...
rundberg Medlem sedan mars 2007 116 inlägg Return Code: 4 får jag då istället
P Pedda Medlem sedan juni 2000 6 031 inlägg Kod 4 är att filen inte laddades upp
testa att skriva ut för mer debuginfo
echo '<pre>';
print_r($_FILES);
print "</pre>";
rundberg Medlem sedan mars 2007 116 inlägg vad skall jag skriva det?, är väldigt ny på php
P Pedda Medlem sedan juni 2000 6 031 inlägg Direkt efter return code:.....
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
echo '<pre>';
print_r($_FILES);
echo '</pre>';
rundberg Medlem sedan mars 2007 116 inlägg Då får jag denna text utskriven
Return Code: 4
Array
(
[file] => Array
(
[name] =>
[type] =>
[tmp_name] =>
[error] => 4
[size] => 0
)
)
P Pedda Medlem sedan juni 2000 6 031 inlägg 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>
C colione Medlem sedan juni 2001 4 421 inlägg 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?
P Pedda Medlem sedan juni 2000 6 031 inlägg 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)
C colione Medlem sedan juni 2001 4 421 inlägg 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.
rundberg Medlem sedan mars 2007 116 inlägg 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
rundberg Medlem sedan mars 2007 116 inlägg 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