Avatar billede kack Nybegynder
24. december 2006 - 13:16 Der er 12 kommentarer og
1 løsning

Profilbillede funktion

Hej alle sammen.

Jeg har kigget lidt rundt her på eksperten, efter en profil billede funktion.
Jeg har så taget en og brugt den på min side. Men kan ikk helt fådet til at fungere.

Jeg får denne fejl når jeg uploader:

Filen kunne ikke kopieres til serveren /customers/***/***/httpd.wwwppics/minemail@hotmail.com.jpg

Her er koden:


<?php
$connection = mysql_connect("localhost","***","***");
    mysql_select_db("***", $connection);

$getnews = mysql_query("SELECT * FROM ka_brugere WHERE email = '$_SESSION[email]'");
    while($row=mysql_fetch_array($getnews))
{
?>

<div align="center"><a href="ppics/<?php echo("$row[email]"); ?>" target="_blank"><img src="ppics/<?php echo("$row[profilbillede]"); ?>" width="100" height="120" border="0"></a>
  <br>
  <a href="slet/profilbillede.php&id=<?php echo("$row[email]"); ?>">Slet</a><br>
  <?php
  }
  ?>
  <?php
require("config.php");
$limitedext = array(".jpg",".jpeg", ".bmp");
$sizelimit = "ja";
$sizebytes = "200000";



if($_POST['skriv']=="doit"){
if ($_FILES['file'] != "") {
  $ext=strrchr($_FILES['file']['name'],'.');
  $ext=strtolower($ext);

$filnavnet = $_SERVER["DOCUMENT_ROOT"] . "ppics/".$_SESSION['email'].$ext;



if (!in_array($ext,$limitedext) ) {
  die("Filen er en forkert filtype. De tiladte filtyper er bmp og jpg/jpeg.");
}

if($ext==".bmp"){
if (($_FILES['file']['size'] > $sizebytes)) {
  die("Billedet er for stort. En bmp-fil må højest fylde 200 kb.");
}
@copy($_FILES['file']['tmp_name'], $filnavnet) or die("Filen kunne ikke kopieres til serveren ".$filnavnet);
}else{


@copy($_FILES['file']['tmp_name'], $filnavnet) or die("Filen kunne ikke kopieres til serveren ".$filnavnet);
    #-+ Read the source image
    $src_img = ImageCreateFromJPEG($filnavnet);

    #Vælg bredden
    $tn_w = "400";
    $tn_h = "400";

    #Hent billedets bredde og højde
    $imginfo = getimagesize($filnavnet);
    $org_w= $imginfo[0];
    $org_h = $imginfo[1];

    #Beregn højden i forhold til bredden
    $tn_h = floor($tn_w * $org_h / $org_w);
           
    #Sæt det nye billede
    $dst_img = imagecreatetruecolor($tn_w,$tn_h);
       
    #Ændre det!
    ImageCopyResampled($dst_img, $src_img, 0, 0, 0, 0, $tn_w, $tn_h, $org_w, $org_h);
               
    #Gem det!
    ImageJPEG($dst_img, $filnavnet);
   
    #slet "midlertidige" filer fra serveren.
    imagedestroy($dst_img);
}
} else {
  die("Husk at vælge et Billede");
}
echo "<p />";
echo $_FILES['file']['name']." blev uploaded<br><img src=\"ppics/".$_SESSION[email].$ext."\">";
mysql_query("UPDATE ka_brugere SET profilbillede='".$_SESSION[email].$ext."' WHERE email='$_SESSION[email]'");
}else{
?>
 
</div>
<form method=POST action="editpicture.php" enctype="multipart/form-data">
<p>Vælg et Billed:<br>
<input type="hidden" name="skriv" value="doit" size="30">
<input type="file" name="file" size="30">
<p><button name="submit" type="submit" value="Upload">
Upload
</button>
</form>
<?
}
?>


Håner der er nogle der kan hjælpe :)
Avatar billede windcape Praktikant
24. december 2006 - 13:30 #1
prøv at ændre
$filnavnet = $_SERVER["DOCUMENT_ROOT"] . "ppics/".$_SESSION['email'].$ext;
til
$filnavnet = $_SERVER["DOCUMENT_ROOT"] . "/ppics/".$_SESSION['email'].$ext;

og evt. læs din fejlmeddelse næste gang.
Avatar billede kack Nybegynder
24. december 2006 - 13:37 #2
jeg får den samme fejl stadig
Avatar billede windcape Praktikant
24. december 2006 - 13:40 #3
nej , det gør du ikke :) men du får nok en temmelig magen til.

Anyway, det er op til dig selv at fixe scriptet så dens stier passer med dit webhotel/server, da vi ikke kender opbygningen af dit webhotel/server.

Men normalt kan du altså skippe $_SERVER["DOCUMENT_ROOT"] delen og bare bruge en relativ sti istedet.
Avatar billede kack Nybegynder
24. december 2006 - 13:41 #4
altså bare:

$filnavnet = . "/ppics/".$_SESSION['email'].$ext;

eller hvad?
Avatar billede windcape Praktikant
24. december 2006 - 13:46 #5
noget i den stil, prøv dig lidt frem... jeg kender jo ikke til din mappe-struktur.
Avatar billede kack Nybegynder
24. december 2006 - 13:48 #6
Har prøvet at ændre det til dette:
$filnavnet =  "senddet/ppics/".$_SESSION['email'].$ext;

Filen editpicture.php ligger i mappen "senddet".

Min nu får jeg bare denne fejl i stedet:
Filen kunne ikke kopieres til serveren senddet/ppics/***@hotmail.com.jpg
Avatar billede kack Nybegynder
25. december 2006 - 12:31 #7
God jul :)

Ingen der kan hjælpe mig?
Avatar billede windcape Praktikant
25. december 2006 - 21:16 #8
prøv at fjerne senddet/ .. (ja, også den sidste / )
Avatar billede mcardle Nybegynder
26. december 2006 - 02:13 #9
/ i starten svare til at starte fra root. Den / i enden skal du ikke have på. Jeg tror det har noget med din copy-metode.

Prøv med:
move_uploaded_file($tmp_name, "$name");
Avatar billede mcardle Nybegynder
26. december 2006 - 02:17 #10
I stedet for copy
Avatar billede windcape Praktikant
26. december 2006 - 15:43 #11
copy virker også fint, move_uploaded_file checker bare om det var korrekt sendt via HTTP POST.

Og som du kan se mcardle så virker hans upload fint, det er bare stien der tydeligvis er forkert.
Avatar billede kack Nybegynder
27. december 2006 - 16:45 #12
Tak for det windscape. Det virkede med at fjerne /senddet/

Smider du et svar, så får du dine points?
Avatar billede windcape Praktikant
28. december 2006 - 11:58 #13
here you go.

Og godt nytår <:o)-
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

Seneste spørgsmål Seneste aktivitet
I går 10:21 Ny printer, men hvilken Af mort1 i Printere
13/0819:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging