Du har inte apostrofer runt filen. Ska se ut så här:
$_POST['filen']
Sen ska du nog läsa lite i manualen. Variabeln du ska använda dig av heter $_FILES
27 svar · 586 visningar · startad av filipbh
Vad är det för fel på denna kod?
<?
if($_POST[upload]){
$fil=$_POST[filen];
if ($_POST[filen] != "" && $_POST[filen] != "none") {
copy($_POST[filen], "bilder/profil/".$_SESSION[inl_id]."/bilder/$fil_name");
echo "Du laddade upp " . $fil_name . "<br>";
echo "Filstorlek " . $fil_size . "<br>";
echo "Filtyp " . $fil_type . "<br>";
}
else
echo "Ingen fil laddades upp";
}
?>
Tacksam för snabbt svar ;)
Du har inte apostrofer runt filen. Ska se ut så här:
$_POST['filen']
Sen ska du nog läsa lite i manualen. Variabeln du ska använda dig av heter $_FILES
kan någon förklara vad if-satsen gör? Om $_POST[upload] vadå? :S
Det en if-sats gör är att den kollar om något är sant eller falskt. Är det sant utförs if-satsen. Är det falskt utförs det inte.
Det som är falskt är:
0
ingenting
false
Det som är true är i princip resten.
Så det den gör är att den kollar om $_POST['upload'] är något.
Om man tryckt på knappen med namnet "upload" så ska uppladdningen ske..
Det löste sig när jag använde $_FILES.. Men jag kan inte få in filen i mappen bara :/
Vet inte vad man har för rättigheter på b-one men man borde ju kunna lägga upp...
Det här visas vid uppladdning: "Warning: copy(Array): failed to open stream: No such file or directory in /customers//httpd.www/bilder.php on line 30"
Rad 30 är: "copy($_FILES['filen'], "bilder/profil/$_SESSION[inl_id]/bilder/$_FILES['filen']['name']"); "
Mappen finns så det måste vara någonting annat...
Bytte ut copy till move_uploaded_file.. Det kom inte fram något felmeddelande men filen laddades ändå inte upp.
tydal,
isset alltså?
Namnet på filen är $_FILES['filen']['tmp_name']
Kenchu skrev:
tydal, isset alltså?
Inte riktigt:
(Gissa först hur du tror resultatet blir, kolla sen vad det blir och läs slutligen mitt första svar till dig igen :-)
<?php
$a = 0;
if (isset($a))
{
echo("Ja ");
}
else
{
echo("Nej ");
}
if ($a)
{
echo("Ja ");
}
else
{
echo("Nej ");
}
?>
Ska testa det sen.. Måste logga ut. Tack så länge
filipbh skrev:
Det fungerar utan isset så därför jag inte har med det..
Det är inte alltid det gör det eftersom det är skillnad. Så länge man är väl förtrogen med skillnaden kan man ju använda vilket man vill (eftersom man då vet vad man gör :-) men om man inte är riktigt hundra rekommenderar jag att man alltid använder isset eftersom det oftast är det man menar :-)
<?php
$file_dir = "../pics/";
if ($_POST) {
$newfile = $file_dir.$_FILES['myfiles']['name'][0];
move_uploaded_file($_FILES['myfiles']['tmp_name'][0], $newfile);
echo "Successfully uploaded file!";
}
print "<form method='post' enctype='multipart/form-data'>";
print "<input type='file' name='myfiles[]' size='30'><br>";
print "<input type='submit' name='action' value='Upload'>";
print "</form>";
?>
Hittade ett skript på nätet som jag modifierade lite. Förstår det nästan. Har egentligen inte läs det här om FILES och move_uploaded_file, men iaf! Förstår inte vad den där 0:an gör. Vad gör den?
Kenchu skrev:
Förstår inte vad den där 0:an gör. Vad gör den?
Skulle vara kul att veta. Gör det någon skillnad om du tar bort den
filipbh: Fick du ditt skript att fungera?
Kenchu skrev:
Förstår inte vad den där 0:an gör. Vad gör den?
Skulle vara kul att veta. Gör det någon skillnad om du tar bort den?
filipbh: Fick du ditt skript att fungera?
fiddler skrev:
Kenchu skrev:
Förstår inte vad den där 0:an gör. Vad gör den?
Skulle vara kul att veta. Gör det någon skillnad om du tar bort den?
filipbh: Fick du ditt skript att fungera?
Jepp, det fungerar inte om man tar bort den. :S
Har inte hunnit testa det tyvärr.. Har inte kommit åt datorn. Ska testa det i början av nästa vecka. Hoppas det fungerar...
Filen laddades upp =) Men det kommer fram felmeddelanden som jag inte har hunnit gå igenom..
Det fungerar utmärkt..
En fråga jag har är hur man får reda på storleken och filtypen bara...
Har testat med echo $_FILES['filen']['tmp_type'][0]; men den skriver inte ut något...
Filstorlek får du med $file['size']
r/ Såg nu att du ville ha filändelsen också.
Finns säkert enklare sätt än denna
$filandelse = explode('.',$file['name']);
$sort = count($filandelse) - 1;
$sort = $filandelse[$sort];
echo $sort;