Hej,
Jeg har problemer med dette filupload-script!
Filen skal ligge i mappen "images", og den kommer i en streng ved navn $fil fra en form.
<?
//------------------------------------------------------
// Kontrol af login-oplysninger
//*****************************
$res = mysql_query("SELECT id FROM login WHERE bruger='$user' AND password='$pass'");
if ((mysql_num_rows($res) == 1)) {
//------------------------------------------------------
// Upload af baggrundsbillede
//***************************
if($fil){
//Her skal filen flyttes fra
$fra = $_FILES['fil']['tmp_name'];
//Hvilken type fil arbejder vi med?
$ext = strtolower(end(explode(".", $_FILES['fil']['name'])));
//Hvis filen er et jpg, jpeg eller gif billede
if($ext == "jpg" || $ext == "jpeg" || $ext == "gif"){
$tid = time();
//Her giver vi billedet et andet navn, så der ikke kommer to ens navne…
$nytNavn = $tid . ”_” . rand(1, 1000000) . $ext;
//Her er vores destination
$til = "../images/grafik/menu/" . $nytNavn;
//Her sker det magiske:
move_uploaded_file($fra, $til);
}
}
//------------------------------------------------------
// Redigering af farve
//********************
if($send){
switch($farve){
case(1):
$kode = "bgcolor=$specifik";
break;
case(2):
$kode = "background=images/grafik/menu/$filnavn_name";
break;
default:
$kode = "bgcolor=$farve";
break;
}
mysql_query(" UPDATE grafik SET menu='$kode' WHERE id = '1' ") or print mysql_error();
echo "<p align=center><img border=0 src=images/done.gif width=300 height=200></p>";
} else {
//------------------------------------------------------
?>
Jeg er ikke lige sikker på hvad der er galt helt præcist, men noget kode til fx at upload billeder, kunne se således ud:
// hvis filen er blevet uploadet korrekt til serveren
if ($_FILES['fil']['tmp_name']) {
// sti til til hvor billeder skal ligges
$path = '/path/to/image_dir/';
// lav et fil navn som ikke allerede findes
$temp_name = tempnam($path,time().'_');
// slet navnet, da vi kun skal bruge det som en streng
@unlink($temp_name);
// find fil typen
$ext = array_pop(explode('.',$_FILES['fil']['tmp_name']));
$temp_name .= '.'.$ext;
// saa skal vi lige tjekke om det er et billede
// kan jo self ogsaa tjekke om det er jpg jpeg png gif, osv.
// men hvis typen er image/type saa er det et billede...
// vi bliver noedt til at bruge 2 ligmedtegn, da den formentlig er
// paa den foerste position, dvs '0', og der er det samme som 'false'
if (strpos($_FILES['fil']['type'],'image/') !== false) {
@move_uploaded_file($_FILES['fil']['tmp_name'],$temp_name);
}
}
Dette burde alt i alt virke :p hehe
Men ved ikke om det var det du ledte efter.
Mvh Bob