Avatar billede flol Nybegynder
09. april 2007 - 19:42 Der er 13 kommentarer og
1 løsning

Fejl i upload script

Hej eksperter!
Jeg har denne kode:

***********kode*********
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Galleri</title>
<link rel="stylesheet" type="text/css" href="../tekst.css">
</head>
<?
include("../connect/connect.php");

$tid = date("D/M/Y", mktime());
$m = mysql_query("SELECT * FROM gallerimapper WHERE brugernavn = '$_GET[brugernavn]' ORDER BY id ASC");
$ma = mysql_num_rows($m);
if(isset($_POST['submitmappe'])) {
   
    mysql_query("INSERT INTO gallerimapper VALUES('', '$_GET[brugernavn]', '$_POST[mappe]', '$tid')") or die(mysql_error());
    echo "Din mappe er nu oprettet!<br><br>";
}
if(!empty($_GET['slet'])) {
    mysql_query("DELETE FROM gallerimapper WHERE brugernavn = '$_GET[brugernavn]' AND mappe = '$_GET[slet]'") or die(mysql_error());
    mysql_query("DELETE FROM galleri WHERE brugernavn = '$_GET[brugernavn]' AND mappe = '$_GET[slet]'") or die(mysql_error());
    echo "din mappe er slettet!<br><br>";
}
if(isset($_POST['submit'])) {
    $file=$_FILES['billede']['tmp_name'];
    $name=$_FILES['billede']['name'];
    $name=str_replace(" ", '_', $name);
    $ext=strrchr($_FILES['billede']['name'],'.');
    $ext=strtolower($ext);
    $types=array(".jpg", ".gif", ".bmp", ".jpeg");
    $path="img/" . time() . "_" . $name;
       
    if(in_array($ext, $types) && $_FILES['billede']['size'] < 10485760) {
        echo "Dit billede skal være jpg, gif, bmp format og fylder mindre en 10 mb (10485760 bytes)!";
           
    }else{
        if($ma == 0) {
            chmod($path, 0644);
            move_uploaded_file($file, $path);
       
            mysql_query("INSERT INTO gallerimapper VALUES('', '$_GET[brugernavn]', '$_GET[brugernavn]s galleri', '$tid')");
            mysql_query("INSERT INTO galleri VALUES('', '$_GET[brugernavn]', '$_GET[brugernavn]s galleri', '$path', '$tid')");   
            echo "Billedet er oprettet!";
        }else{
            chmod($path, 0644);
            move_uploaded_file($file, $path);
            mysql_query("INSERT INTO galleri VALUES('', '$_GET[brugernavn]', '$_POST[mapper]', '$path', '$tid')");   
            echo "Billedet er oprettet!";
        }
    }
}
$query = mysql_query("SELECT * FROM galleri WHERE brugernavn = '$_GET[brugernavn]'") or die(mysql_error());
$antal = mysql_num_rows($query);
$billeder = mysql_fetch_assoc($query);
?>
<body>

Tilføj billede:<br />
<form action="upload.php?brugernavn=<? echo $_GET['brugernavn']; ?>" method="post" enctype="multipart/form-data">
<table cellpadding="0" cellspacing="0" border="0" align="center">
    <tr>
        <td>Mappe:</td>
        <td>
        <select name="mapper">
        <?
        $mapper = mysql_query("SELECT * FROM gallerimapper WHERE brugernavn = '$_GET[brugernavn]' ORDER BY id ASC");
        while($map = mysql_fetch_assoc($mapper)) {
        ?>
            <option value="<? echo $map['mappe']; ?>"><? echo $map['mappe']; ?></option>
        <?
        }
        ?>
        </select>
        </td>
    </tr>
    <tr>
        <td>Upload billede:</td>
        <td><input type="file" name="billede" /></td>
    </tr>
    <tr>
        <td></td>
        <td><input type="submit" name="submit" value="Upload" /></td>
    </tr>
</table><br />
</form>
<br />
Mapper:<br />
<ul>
<?
$mapp = mysql_query("SELECT * FROM gallerimapper WHERE brugernavn = '$_GET[brugernavn]' ORDER BY id ASC");
while($map2 = mysql_fetch_assoc($mapp)) {
    ?>
    <script type="text/javascript">
        function adv() {
            var answer = confirm('Er du sikker på du vil slette denne mappen? Alle billederne der indholder denne mappe, vil blive slettet sammen med mappen.');
            if(answer) {
            self.location='?brugernavn=<?php echo $_GET['brugernavn']; ?>&slet=<?php echo $map2['mappe']; ?>';
            }
        }
    </script>
    <li><? echo $map2['mappe']; ?>(<? echo $antal; ?>) <a href="#" onclick="adv()">slet</a></li>
    <?
}
?>
</ul>
<form action="upload.php?brugernavn=<? echo $_GET['brugernavn']; ?>" method="post">
<?
if(!empty($_GET['mappe'])) {
    ?>
    <input type="text" name="mappe" /> <input type="submit" name="submitmappe" value="Opret mappe" />
    <?
}else{
?>
<a href="?mappe=ny&brugernavn=<? echo $_GET['brugernavn']; ?>">Opret mappe</a>
<?
}
?>
</form>
</body>
</html>

**************kode************

den gør nu alt det den skal bortset fra at uploade billedet :/
hvordan kan det være?
Avatar billede jakobdo Ekspert
09. april 2007 - 19:51 #1
prøv at udskriv variablerne:
$file og $path
Indeholder de korrekt info?
Avatar billede flol Nybegynder
09. april 2007 - 19:55 #2
hmm :/
de indholder ingenting,
Avatar billede flol Nybegynder
09. april 2007 - 20:01 #3
jo min fejl..
de indholder det rigtige:

/tmp/phpSl6rUS img/1176141605_115_09-02-07.jpg
Avatar billede flol Nybegynder
09. april 2007 - 20:03 #4
de indholder *ikke det rigtige
Avatar billede flol Nybegynder
09. april 2007 - 20:06 #5
/tmp/phpSl6rUS skulle være $file
og så:
img/1176141605_115_09-02-07.jpg er så $path
Avatar billede jakobdo Ekspert
09. april 2007 - 22:01 #6
Så de indeholder det rigtige eller ej?
Avatar billede flol Nybegynder
09. april 2007 - 22:52 #7
ja det gør de
Avatar billede jakobdo Ekspert
10. april 2007 - 08:12 #8
Er diret: img chmod 777?
Er img i samme dir som den fil der klarer uploaden?
Avatar billede flol Nybegynder
10. april 2007 - 09:53 #9
ja mappen bliver chmod til 777
og img/ ligger det sted som uploaden
Avatar billede flol Nybegynder
10. april 2007 - 09:56 #10
har fundet fejlen !!

fejlen var fordi at selvom jeg havde sagt den skulle chmode gjorde den det ikke.
så chomdet bare mappen manuelt
Avatar billede jakobdo Ekspert
10. april 2007 - 09:57 #11
Ja, php har ikke altid de rettigheder som man lige tror.
Så chmod() kaldet i php virker ikke altid.

Du får lige et svar.
Avatar billede flol Nybegynder
10. april 2007 - 10:01 #12
hehe iorden ..! ;)

og tak for hjælpen
Avatar billede jakobdo Ekspert
10. april 2007 - 10:04 #13
Takker for point.
Avatar billede -veile- Nybegynder
12. april 2007 - 03:28 #14
lige en lille kommentar til dit script..

i følge den kode som du har her, har du os sat chmod til 0644 og efter et af dine indlæg sir du den skal være 777, måske hvis du ændrede det vil det virke :P
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester