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 :-)
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!
Ja, prøv med. action="<?=$_SERVER['PHP_SELF']?>"
eller bare skrive action="?" det burde også være tilstrækkeligt
Desværre - Stadig det samme...
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/ (...)
<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";
}
?>
Dit problem er dette tjek:
if (isset($_POST["userfile"]))
Du har ikke $_POST['userfile']
Men du har:
$_FILE['userfile']
Og det skal være: $_FILES['userfile']
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>
<?
}
?>
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?
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
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?
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'];
hmm... Ja det virkede sku... Jeg takker da!
Svarar du så lige engang?
hola! Du gi mig svar, eh?
Jamen det var da lige hvad der manglede :)
De er jo ikke de første i denne uge ;)