Avatar billede d.kryger Praktikant
08. oktober 2004 - 10:42 Der er 14 kommentarer og
2 løsninger

Upload fejl -

Hej eksperter...

Jeg får nedenstående fejl, når jeg prøvet at uploade et billede til mine nyheder. Kan nogen se hvad der evt. skulle være galt?

Warning: move_uploaded_file(/grafik/billeder/nyheder/1097224357.jpg): failed to open stream: Permission denied in opret_nyhed.php on line 109

Warning: move_uploaded_file(): Unable to move '/var/tmp/php06VO0T' to '/grafik/billeder/nyheder/1097224357.jpg' in opret_nyhed.php on line 109

Kode:
if ($fejl==false)
{
$connection = mysql_connect("--**--","--**--","--**--");
$db = "--**--";
mysql_select_db($db);

$fil = $_FILES["billede"];

if ($fil["name"] != "")
{
function upload_fil($fil, $overskrift, $tekst, $max_stoerrelse = 250, $bibliotek = "default", $filtyper_tilladt = "default")
{
$filnavn = strtolower(ereg_replace(" ", "_", $fil["name"]));
$fra = $fil["tmp_name"];
$fil_stoerrelse = filesize($fra)/1024;
$filtype = $fil["type"];
$fejl = "0";

if(!in_array($filtype, $filtyper_tilladt))
{
print "<font face='Verdana' color='red' size='1'>Den valgte filtype er ikke tilladt. Det er kun tilladt at benytte gif og jpg filer.<br></font>";
$fejl = "1";
}

if ($fil_stoerrelse > $max_stoerrelse)
{
print "<font face='Verdana' color='red' size='1'>Filen er for stor. Den fylder " . ceil($fil_stoerrelse) . " kb og må maximalt fylde $max_stoerrelse kb!<br></font>";
$fejl = "1";
}

if ($fejl == "0")
{
$timestamp = time();

$loopInt = strlen($filnavn) - 1;
$typeStreng = "";
$punktumFundet = false;

while ($loopInt >= 0 && $punktumFundet == false)
{
if (substr($filnavn, $loopInt, 1) == ".")
{
$punktumFundet = true;

$typeStreng = substr($filnavn, $loopInt, strlen($filnavn) - $loopInt);
}

$loopInt--;
}

$fil_sti = $bibliotek . "/" . $timestamp . $typeStreng;

$til = $_SERVER["DOCUMENT_ROOT"] . $fil_sti;

if (move_uploaded_file($fra, $til))
{
$connection = mysql_connect("--**--","--**--","--**--");
$db = "--**--";
mysql_select_db($db);

mysql_query("INSERT INTO nyheder (dato, overskrift, tekst, billede) VALUES (".$timestamp.", '".$_POST["overskrift"]."', '".nl2br($_POST["tekst"])."', '$fil_sti')");

print "<div align='center'>";
print "<center>";
print "<table border='0' width='300' height='80' cellspacing='0' cellpadding='2'>";
print "<tr>";
print "<td width='100%' align='center' bgcolor='#C0C0C0'><font face='Verdana' size='1'>Nyheden er nu tilføjet...<br>";
print "<br>";
print "<a href='menu.php' class='menu'>Klik her for at komme tilbage til menu'en</a>.</font></td>";
print "</tr>";
print "</table>";
print "</center>";
print "</div>";
}

exit;
}

}

$fil = $_FILES["billede"];
$max_stoerrelse = 100;
$upload_mappe = "/grafik/billeder/nyheder";
$filer_tilladt = array("image/pjpeg", "image/jpeg", "image/gif", "image/jpg", "");

upload_fil($fil, $overskrift, $tekst, $max_stoerrelse, $upload_mappe, $filer_tilladt);
}
else
{
$timestamp = time();

mysql_query("INSERT INTO nyheder (dato, overskrift, tekst) VALUES (".$timestamp.", '".$_POST["overskrift"]."', '".nl2br($_POST["tekst"])."')");

print "<div align='center'>";
print "<center>";
print "<table border='0' width='300' height='80' cellspacing='0' cellpadding='2'>";
print "<tr>";
print "<td width='100%' align='center' bgcolor='#C0C0C0'><font face='Verdana' size='1'>Nyheden er nu tilføjet...<br>";
print "<br>";
print "<a href='menu.php' class='menu'>Klik her for at komme tilbage til menu'en</a>.</font></td>";
print "</tr>";
print "</table>";
print "</center>";
print "</div>";
}

exit;
}
}
Avatar billede stois Nybegynder
08. oktober 2004 - 10:46 #1
er du sikker på at mappen er åben for upload...
Avatar billede d.kryger Praktikant
08. oktober 2004 - 10:48 #2
Det ved jeg ikke, men det har virket før...
Avatar billede hmortensen Nybegynder
08. oktober 2004 - 10:49 #3
Prøv at chmod mappen til 0664
Avatar billede stois Nybegynder
08. oktober 2004 - 10:50 #4
har det virket før med lige DEN mappe?
Avatar billede d.kryger Praktikant
08. oktober 2004 - 10:51 #5
Nej, ikke lige DEN mappe, men alle mapperne er ens. Hjemmesiden ligger ved web10.dk
Men jeg ved ikke om det er fordi at de har lavet noget om på serveren eller, hvad der kan være galt...
Avatar billede d.kryger Praktikant
08. oktober 2004 - 10:52 #6
hindu_skp: Hvordan gør man det?
Avatar billede stois Nybegynder
08. oktober 2004 - 10:52 #7
Bruger et FTP-prog og tjek rettighederne for lige den mappe...
Avatar billede hmortensen Nybegynder
08. oktober 2004 - 10:52 #8
Det kan du somregel gøre i dit ftp program. Højreklik på mappen og vælg chmod
Avatar billede stois Nybegynder
08. oktober 2004 - 10:53 #9
Hindu_skp >> mener du ikke 664
Avatar billede hmortensen Nybegynder
08. oktober 2004 - 10:54 #10
Jo 0664
Avatar billede d.kryger Praktikant
08. oktober 2004 - 10:54 #11
Nu virker det, der var ikke tilladelser...
Læg et svar begge to, og i får point...
Avatar billede stois Nybegynder
08. oktober 2004 - 10:55 #12
hindu_skp >> ved ikke hvorfor du sætter et nul foran... Hvorfor?
Avatar billede hmortensen Nybegynder
08. oktober 2004 - 10:55 #13
Det var da rart :)
Avatar billede stois Nybegynder
08. oktober 2004 - 10:55 #14
oki
Avatar billede hmortensen Nybegynder
08. oktober 2004 - 10:56 #15
Fordi nogle applikationer kræver det.
Det er også den rigtige syntaks for at sætte rettigheder.
Avatar billede stois Nybegynder
08. oktober 2004 - 10:57 #16
hindu_skp >> fedt tak :-) så lærte jeg også noget...
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