Avatar billede BTEngineer Novice
08. november 2005 - 07:31 Der er 3 kommentarer og
1 løsning

Billede upload?

Hej Eksperter.

Jeg har et problem med mit billede upload, det vil desværre ikke som jeg vil. Problemmet er at den ikke uploader billedet. Altså den ligger ikke billedet ind i mappen "billeder".
Mappen er chmoded, også de andre.

I behøver nok hele scriptet for at kunne rette fejlen(e).

<?
session_start();
if(session_is_registered("brugernavn") AND ("kodeord")) {

    include("../inc/opdater.php");
    include("inc/config.php");

$hent = mysql_query("SELECT * FROM community WHERE brugernavn = '$_SESSION[brugernavn]'") or die(mysql_error());
$vis = mysql_fetch_array($hent);
?>

<html>

<head>

<meta http-equiv="Content-Language" content="da">
<link rel="stylesheet" type="text/css" href="../CSS/standard.css">

</head>

<body>

<?
if($_POST[gem]) {

$hent_info = mysql_query("SELECT billede FROM nyheder");
$vis_info = mysql_fetch_array($hent_info);

if(!$_POST[overskrift] || !$_POST[nyhed]) {
    $fejl[] = "Alle felter er ikke udfyldt korrekt.";
}

if(strlen($_POST[nyhed] < "15")) {
    $fejl[] = "Nyheden er for kort, mindst 15 tegn.";
}

// BILLEDE TJEK: START

if($billede_name) {

if($billedesize[0] > "500") {
$fejl[] = "Dit billede må max være 100 pixel bred.";
}

if(!eregi("(\.jpg$|\.gif$)",$billede_name)) {
    $fejl[] = "Kun filformaterne jpg eller gif er tilladt.";
}

if(!$fejl) {
if($billede_name) {
move_uploaded_file($billede,"billeder/".substr($billede_name,-4.));
$billede = substr($billede_name,-3);
} else {
$billede = $vis_info[billede];
}
}

if($fejl) {
    echo("<font color=\"RED\"><b>Fejl:</b></font><br>");
for($i=0;
sizeof($fejl) > $i;
$i++) {
    echo("<li>$fejl[$i]");
}
} else {

if(!get_magic_quotes_gpc()) {
$overskrift = addslashes($_POST[overskrift]);
$forfatter = addslashes($_SESSION[brugernavn]);
$nyhed = addslashes($_POST[nyhed]);
}

$overskrift = htmlspecialchars($overskrift);
$forfatter = $forfatter;
$nyhed = $nyhed;
$dato = date('d/m/Y');
$kl = date('H:i');
$ip = $_SERVER[REMOTE_ADDR];

mysql_query("INSERT INTO nyheder (`overskrift`, `forfatter`, `nyhed`, `dato`, `kl`, `ip`, `billede`) VALUES ('$overskrift', '$forfatter', '$nyhed', '$dato', '$kl', '$ip', '$billede_name')");
echo("<font color=\"GREEN\"><b>Nyheden er nu tilføjet.</b></font>");
print mysql_error();
}
}
}
if($fejl || !$_POST[gem]) {
?>

<form action="tilfoej.php" enctype="multipart/form-data" method="POST">

<table border="0" width="100%">
    <tr>
        <td width="81"><b>Overskrift:</b></td>
        <td width="894"><input type="text" name="overskrift" value="<? echo $_POST[overskrift]; ?>"></td>
    </tr>
    <tr>
        <td width="81"><b>Billede:</b></td>
        <td width="894"><input type="file" name="billede"></td>
    </tr>
    <tr>
        <td width="979" colspan="2"><a href="#" OnClick='html()'>Html hjælp</a></td>
    </tr>
    <tr>
        <td width="979" colspan="2"><b>Nyhed:</b></td>
    </tr>
    <tr>
        <td width="979" colspan="2">
        <textarea name="nyhed" rows="16" cols="61" value="<? echo $_POST[nyhed]; ?>"></textarea></td>
    </tr>
    <tr>
        <td width="979" colspan="2">
        <input type="submit" name="gem" value="Tilføj nyheden"></td>
    </tr>
</table>

</form>

</body>

</html>

<?
}

} else {
    echo("Ingen adgang.");
}

} else {
    echo("Du er ikke logget ind.");
}

?>

Jeg håber i kan hjælpe mig.
Avatar billede jakobdo Ekspert
08. november 2005 - 07:58 #1
Prøv at lav en test på:
move_uploaded_file($billede,"billeder/".substr($billede_name,-4.));
F.eks.:
if(move_uploaded_file($billede,"billeder/".substr($billede_name,-4.)))
{
echo "Det gik godt";
}
else
{
echo "Det gik ikke godt";
}

Prøv at udskriv værdierne:
$billede
og:
"billeder/".substr($billede_name,-4.)

Er det som det skal være?

En helt anden ting.
Du tjekker om det er over 500 og siger det max må være 100! :o)
if($billedesize[0] > "500")
{
$fejl[] = "Dit billede må max være 100 pixel bred.";
}
Avatar billede BTEngineer Novice
09. november 2005 - 08:55 #2
Har prøvet det ser således ud:

/tmp/phpHEdgs8
top.gif
billeder/.substr(top.gif,-4.)
Det gik godt
Nyheden er nu tilføjet.
Avatar billede BTEngineer Novice
09. november 2005 - 09:07 #3
Har fået det til at virke :D
Jeg gjorde det lige på en anden måde :D
Avatar billede jakobdo Ekspert
09. november 2005 - 10:41 #4
Og svar til dig selv igen?
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