Avatar billede MarkA Praktikant
26. februar 2007 - 17:10 Der er 53 kommentarer og
2 løsninger

Hjælp til chmod på unoeuro server

Jeg har lavet et script der kan uploade filer, og når den kører på min egen server herhjemme er det intet problem. Men når jeg så skal køre det på unoeuro's server smider den godt nok filnavn osv ind i databasen men filen bliver ikke lagt op på mit hotel... jeg har en fornemmelse for det er noget med chmod, men er der nogen af jer der ved om man kan ændre rettighederne for mapper på unoeuro's servere og evt hvordan????
Avatar billede jakobdo Ekspert
26. februar 2007 - 17:22 #1
Prøv at login via FTP og se om du kan chmod til 777.
Avatar billede MarkA Praktikant
26. februar 2007 - 17:23 #2
hvilket program er at foretrække så???
Avatar billede MarkA Praktikant
26. februar 2007 - 17:26 #3
jeg bruger normalt bare denne computer til at smide filerne op med
Avatar billede jakobdo Ekspert
26. februar 2007 - 17:27 #4
Jeg ville f.eks. bare bruge et ftp program som filezilla, det er gratis og virker ganske ok.
Avatar billede MarkA Praktikant
26. februar 2007 - 17:42 #5
jeg kan ikke ændre det igennem ftp....
Avatar billede jakobdo Ekspert
26. februar 2007 - 17:54 #6
Hvad siger den?
Avatar billede MarkA Praktikant
26. februar 2007 - 18:00 #7
den siger egentlig ingenting... men nu kan jeg godt ændre det??? mærkeligt... jeg højreklikker på den mappe der skal kunne skrives til, og så vælger jeg attributes og sætter flueben i dem alle sammen??? Er det rigtigt at gøre sådan???
Avatar billede MarkA Praktikant
26. februar 2007 - 18:40 #8
jeg prøvede lige at installere et andet galleri og der virker det... så spørgsmålet er om det er min kode der er fejl....

do_upload:
-------------------------------------
<?

include("conn.php"); //Forbinder til database
$tabel = "gallery"; //tabellen som billederne skal hentes fra







//opretter fil

foreach ($_FILES["pictures"]["error"] as $key => $error) {
  if ($error == UPLOAD_ERR_OK) {
      $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
      $name = $_FILES["pictures"]["name"][$key];
      move_uploaded_file($tmp_name, "img/$name");
 

list($bredde, $hojde) = getimagesize("img/".$name); //Find højden og bredden på det billede jeg vil resize
$forhold = $hojde/$bredde; //Hvor stor er højden i forhold til bredden?

//Find den nye højde og bredde
$bredde_ny = 1024;
$hojde_ny = round($bredde_ny*$forhold);

//Load/opret billeder
$source = imagecreatefromjpeg("img/".$name);
$destination = imagecreatetruecolor($bredde_ny, $hojde_ny);

//Resize
imagecopyresampled($destination, $source, 0, 0, 0, 0, $bredde_ny, $hojde_ny, $bredde, $hojde);

//Gem
imagejpeg($destination, "img/".$name);


 
$add_file = "INSERT INTO $tabel VALUES('','$name','','mark')" or die(mysql_error());
mysql_query($add_file,$conn);
}

}
?>
Avatar billede jakobdo Ekspert
26. februar 2007 - 21:58 #9
Nej, det kan sagtens være chmod 777 der har gjort forskellen!
Det sker tit.

Du får lige et svar!
Avatar billede MarkA Praktikant
26. februar 2007 - 22:02 #10
jeg kan stadig ikke få lagt filen ind i mappen..... den dukker kun op i databasen
Avatar billede jakobdo Ekspert
26. februar 2007 - 22:09 #11
I den mappe hvor du har filen, er det også der du har img mappen, hvor du ønsker filen skal kopieres til?

Hvis ja, så prøv at ret:
//Gem
imagejpeg($destination, "img/".$name);

til:

//Gem
imagejpeg($destination, getcwd() . "/img/".$name, 90);
Avatar billede MarkA Praktikant
26. februar 2007 - 22:33 #12
den vil stadig kun smide den i databasen
Avatar billede MarkA Praktikant
26. februar 2007 - 22:41 #13
en helt anden ting er at når jeg kører upload af billedet fra min localhost så smider den det rigtigt nok i databasen men billedet mangler... hvis jeg kører den direkte fra mit domæne sker der ingenting overhovedet
Avatar billede jakobdo Ekspert
27. februar 2007 - 07:50 #14
Så det vil sige koden virker heller ikke på localhost?
Avatar billede MarkA Praktikant
27. februar 2007 - 21:08 #15
jo koden virker på localhost....
Hvis jeg kører det hele på localhost så filen også gemmes på min hdd så virker det hele...
Hvis jeg kører scriptet på localhost og sql på adrup.dk så kommer infoen i databasen.
Hvis det hele køres fra adrup.dk sker intet!!!!
Avatar billede jakobdo Ekspert
27. februar 2007 - 21:13 #16
Det er svært at sige hvad det lige præcis er der sker.
Men du må jo evt. i gang med at debugge.
Test funktionerne om det returnere FALSE eller går godt.
Du ved det mere eller mindre går godt til og med databasen, men får du flyttet filen i dit move_uploaded_file()?
Bruger du de rigtige navne på dine variabler?
Bruger du de rigtige stier?
Avatar billede MarkA Praktikant
27. februar 2007 - 21:17 #17
du kan lige få de to filer.....

upload:
----------------------------------------------------
<form enctype="multipart/form-data" action="do_add_pics.php" method="post">
<input type="hidden" name="max_file_size" value="10240">
<input type="file" name="pictures[]" /><br>
<input type="file" name="pictures[]" /><br>
<input type="file" name="pictures[]" /><br>
<input type="file" name="pictures[]" /><br>
<input type="file" name="pictures[]" /><br>
<input type="file" name="pictures[]" /><br>
<input type="file" name="pictures[]" /><br>
<input type="file" name="pictures[]" /><br>
<input type="file" name="pictures[]" /><br>
<input type="file" name="pictures[]" /><br>
<center><input type="submit" value="Send" /></center>
</form>

--------------------------------------------------------



do_add_pics:
--------------------------------------------------------
<?

include("conn.php"); //Forbinder til database
$tabel = "gallery"; //tabellen som billederne skal hentes fra







//opretter fil

foreach ($_FILES["pictures"]["error"] as $key => $error) {
  if ($error == UPLOAD_ERR_OK) {
      $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
      $name = $_FILES["pictures"]["name"][$key];
      move_uploaded_file($tmp_name, "img/$name");
 

list($bredde, $hojde) = getimagesize("img/".$name); //Find højden og bredden på det billede jeg vil resize
$forhold = $hojde/$bredde; //Hvor stor er højden i forhold til bredden?

//Find den nye højde og bredde
$bredde_ny = 1024;
$hojde_ny = round($bredde_ny*$forhold);

//Load/opret billeder
$source = imagecreatefromjpeg("img/".$name);
$destination = imagecreatetruecolor($bredde_ny, $hojde_ny);

//Resize
imagecopyresampled($destination, $source, 0, 0, 0, 0, $bredde_ny, $hojde_ny, $bredde, $hojde);

//Gem
imagejpeg($destination, getcwd() . "http://adrup.dk/photogal/img/".$name, 90);

 
$add_file = "INSERT INTO $tabel VALUES('','$name','','mark')" or die(mysql_error());
mysql_query($add_file,$conn);
}

}
?>
-----------------------------------------------------------------------

kan det være jeg skal bruge $_POST['']
Avatar billede jakobdo Ekspert
27. februar 2007 - 21:27 #18
Nej, $_FILES er helt korrekt!
Prøv at lav tjek af f.eks. move_uploaded_file()
Noget i stil med:
if(move_uploaded_file($tmp_name, "img/$name"))
{
echo "Det gik ok<br />";
}
else
{
echo "Det gik ikke<br />";
}
Avatar billede MarkA Praktikant
27. februar 2007 - 21:42 #19
den skriver intet tilbage
Avatar billede jakobdo Ekspert
27. februar 2007 - 21:50 #20
Prøv i din opretter fil, at skrive følgende i toppen:

echo '<pre>';
print_r($_FILES);
echo '</pre>';
exit();

Udskrives der noget?
Avatar billede MarkA Praktikant
27. februar 2007 - 22:23 #21
Så udskrives:
Array
(
    [pictures] => Array
        (
            [name] => Array
                (
                    [0] => Vinter.jpg
                    [1] =>
                    [2] =>
                    [3] =>
                    [4] =>
                    [5] =>
                    [6] =>
                    [7] =>
                    [8] =>
                    [9] =>
                )

            [type] => Array
                (
                    [0] =>
                    [1] =>
                    [2] =>
                    [3] =>
                    [4] =>
                    [5] =>
                    [6] =>
                    [7] =>
                    [8] =>
                    [9] =>
                )

            [tmp_name] => Array
                (
                    [0] =>
                    [1] =>
                    [2] =>
                    [3] =>
                    [4] =>
                    [5] =>
                    [6] =>
                    [7] =>
                    [8] =>
                    [9] =>
                )

            [error] => Array
                (
                    [0] => 2
                    [1] => 4
                    [2] => 4
                    [3] => 4
                    [4] => 4
                    [5] => 4
                    [6] => 4
                    [7] => 4
                    [8] => 4
                    [9] => 4
                )

            [size] => Array
                (
                    [0] => 0
                    [1] => 0
                    [2] => 0
                    [3] => 0
                    [4] => 0
                    [5] => 0
                    [6] => 0
                    [7] => 0
                    [8] => 0
                    [9] => 0
                )

        )

)
Avatar billede jakobdo Ekspert
27. februar 2007 - 22:29 #22
bemærk: tmp_name er tomt...
Det må den sgu ikke være.
Avatar billede MarkA Praktikant
27. februar 2007 - 22:37 #23
det så jeg... men kan ikke lure fejlen
Avatar billede jakobdo Ekspert
28. februar 2007 - 08:06 #24
Jeg tror heller ikke du kan gøre noget ved det, jeg synes du skal prøve at skrive til unoeuro's support.
Avatar billede MarkA Praktikant
28. februar 2007 - 15:19 #25
Dem har jeg skrevet med... De skriver følgende tilbage.....

#1          Forfatter : UnoEuro A/S Supporter      Dato :  27. februar 2007 08:50:13
Hej,

Der er fuld mulighed og tilladelse for at uploade filer igennem PHP, til dit webhotel.

Vi yder ikke scriptsupport, jeg vil i stedet henvise dig til sider som www.webcafe.dk, www.eksperten.dk og især http://php.net/manual som sikkert kan besvare dit spørgsmål.
Avatar billede jakobdo Ekspert
28. februar 2007 - 15:31 #26
Det var sgu ikke meget hjælp!
Jeg vil gerne kigge mere på det i aften!
Avatar billede MarkA Praktikant
28. februar 2007 - 21:54 #27
Det lyder godt.. Jeg har skrevet lidt mere med dem.. her er den anden mail fra dem....

#3          Forfatter : UnoEuro A/S Supporter      Dato :  28. februar 2007 15:37:32
Hej Mark,

Som sagt kan vi ikke tilbyde at gennemgå din kode for at rette en evt. fejl.

Hvis du kan isolere fejlen og evt. komme med en fejlbeskrivelse, kan vi sikkert være behjælpelige - men vi kan ikke hjælpe med at debugge din kode.
Avatar billede jakobdo Ekspert
28. februar 2007 - 22:06 #28
Prøv at test følgnede kode:

<?php
if(isset($_POST['upload']))
{
    echo '<pre>';
    print_r($_FILES);
    echo '</pre>';
}
?>
<form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF'];?>" method="post">
    <input type="file" name="pictures" /><br />
    <input type="submit" name="upload" value="Send" /><br />
</form>

Og smid input herind.
Avatar billede MarkA Praktikant
28. februar 2007 - 22:18 #29
Array
(
    [pictures] => Array
        (
            [name] => firefox.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpIekiV6
            [error] => 0
            [size] => 208761
        )

)
Avatar billede jakobdo Ekspert
28. februar 2007 - 22:19 #30
Der virker den jo godt nok!
Så må der være noget galt med den kode du bruger når du laver flere felter!
Prøv at ret pictures[] til:

pictures[0]
pictures[1]
pictures[2]
osv...
Avatar billede MarkA Praktikant
28. februar 2007 - 22:26 #31
sådan her????

<form enctype="multipart/form-data" action="do_add_pics.php" method="post">
<input type="hidden" name="max_file_size" value="10240">
<input type="file" name="pictures[0]" /><br>
<input type="file" name="pictures[1]" /><br>
<input type="file" name="pictures[2]" /><br>
<input type="file" name="pictures[3]" /><br>
<input type="file" name="pictures[4]" /><br>
<input type="file" name="pictures[5]" /><br>
<input type="file" name="pictures[6]" /><br>
<input type="file" name="pictures[7]" /><br>
<input type="file" name="pictures[8]" /><br>
<input type="file" name="pictures[9]" /><br>
<input type="file" name="pictures[10]" /><br>
<center><input type="submit" value="Send" /></center>
</form>

hvad gør jeg så i do_add_pics????
Avatar billede MarkA Praktikant
28. februar 2007 - 22:28 #32
Du fortjener sq nogle flere point for din hjælp... Lækkert du gider ;)
Avatar billede jakobdo Ekspert
01. marts 2007 - 07:40 #33
Betyder det det virker nu?
Avatar billede MarkA Praktikant
01. marts 2007 - 15:13 #34
Nej det gør det ikke... Jeg synes bare du skal have nogle flere point for din store hjælp....
Avatar billede jakobdo Ekspert
01. marts 2007 - 19:37 #35
Hvor langt er du så kommer i din kode nu?
Avatar billede MarkA Praktikant
02. marts 2007 - 14:13 #36
Jeg er ikke nået så meget videre... Kan ikke helt finde ud af hvad jeg skal ændre i do_add_pics????


do_add_pics:
--------------------------------------------------------
<?

include("conn.php"); //Forbinder til database
$tabel = "gallery"; //tabellen som billederne skal hentes fra

//opretter fil

foreach ($_FILES["pictures"]["error"] as $key => $error) {
  if ($error == UPLOAD_ERR_OK) {
      $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
      $name = $_FILES["pictures"]["name"][$key];
      move_uploaded_file($tmp_name, "img/$name");


list($bredde, $hojde) = getimagesize("img/".$name); //Find højden og bredden på det billede jeg vil resize
$forhold = $hojde/$bredde; //Hvor stor er højden i forhold til bredden?

//Find den nye højde og bredde
$bredde_ny = 1024;
$hojde_ny = round($bredde_ny*$forhold);

//Load/opret billeder
$source = imagecreatefromjpeg("img/".$name);
$destination = imagecreatetruecolor($bredde_ny, $hojde_ny);

//Resize
imagecopyresampled($destination, $source, 0, 0, 0, 0, $bredde_ny, $hojde_ny, $bredde, $hojde);

//Gem
imagejpeg($destination, getcwd() . "http://adrup.dk/photogal/img/".$name, 90);


$add_file = "INSERT INTO $tabel VALUES('','$name','','mark')" or die(mysql_error());
mysql_query($add_file,$conn);
}

}
?>
Avatar billede jakobdo Ekspert
02. marts 2007 - 19:43 #37
Prøv lige følgende kode:

<?

include("conn.php"); //Forbinder til database
$tabel = "gallery";  //tabellen som billederne skal hentes fra
$img  = "img";      //Navn på mappen hvor filer skal gemmes.
$cwd  = getcwd();  //Current Work Dir

//opretter fil
$img = $cwd . '/' . $img . '/';
foreach ($_FILES['pictures']['error'] as $key => $error)
{
    if ($error == UPLOAD_ERR_OK)
    {
        $tmp = $_FILES["pictures"]["tmp_name"][$key];
        $full = $_FILES["pictures"]["name"][$key];
        move_uploaded_file($tmp, $img . $full);


        list($bredde, $hojde) = getimagesize($img . $full); //Find højden og bredden på det billede jeg vil resize
        $forhold = $hojde/$bredde; //Hvor stor er højden i forhold til bredden?

        //Find den nye højde og bredde
        $bredde_ny = 1024;
        $hojde_ny = round($bredde_ny*$forhold);

        //Load/opret billeder
        $source = imagecreatefromjpeg($img . $full);
        $destination = imagecreatetruecolor($bredde_ny, $hojde_ny);

        //Resize
        imagecopyresampled($destination, $source, 0, 0, 0, 0, $bredde_ny, $hojde_ny, $bredde, $hojde);

        //Gem
        imagejpeg($destination, $img . 'tb_' . $full, 90);


        $add_file = "INSERT INTO $tabel VALUES('','$full','','mark')" or die(mysql_error());
        mysql_query($add_file,$conn);
    }
}
?>
Avatar billede MarkA Praktikant
03. marts 2007 - 08:36 #38
Det hjalp heller ikke??? Kan godt nok ikke forstå hvad det er???
Avatar billede jakobdo Ekspert
03. marts 2007 - 13:40 #39
Kommer der nogen fejl eller noget?
Avatar billede MarkA Praktikant
03. marts 2007 - 20:10 #40
Nej der er bare en blank side
Avatar billede jakobdo Ekspert
03. marts 2007 - 20:19 #41
Så er der garanteret sneget sig en fejl ind et sted.
Kan du hos unoeuro aktiveret error_reporting i php?
Avatar billede MarkA Praktikant
03. marts 2007 - 20:44 #42
der er jeg stået af.... er stadig ved at lære... og mangler en del endnu ;)
Avatar billede MarkA Praktikant
03. marts 2007 - 20:49 #43
er det bare at skive error_reporting(1)
Avatar billede MarkA Praktikant
03. marts 2007 - 21:12 #44
error_reporting    2039

fra: http://linux1.unoeuro.com/phpinfo.php
Avatar billede jakobdo Ekspert
03. marts 2007 - 21:13 #45
Du kan prøve med følgende i toppen af scriptet:

// Report all PHP errors (bitwise 63 may be used in PHP 3)
error_reporting(E_ALL);

Og nogle gange skal det sættes op på webhotellets administration.
Avatar billede MarkA Praktikant
03. marts 2007 - 21:36 #46
Den skriver stadig ingen fejl.... Jeg giver snart op... og der er ingen hjælp at hente hos unoeuro!!! :(
Avatar billede jakobdo Ekspert
03. marts 2007 - 21:40 #47
Hvad sker der hvis du åbner filen direkte?
Altså åbner opretter/uploader filen direkte i en browser?
Avatar billede MarkA Praktikant
03. marts 2007 - 21:43 #48
tjekker lige
Avatar billede MarkA Praktikant
03. marts 2007 - 21:44 #49
Notice: Undefined index: pictures in /var/www/adrup.dk/public_html/photogal/do_add_pics.php on line 14

Warning: Invalid argument supplied for foreach() in /var/www/adrup.dk/public_html/photogal/do_add_pics.php on line 14
Avatar billede jakobdo Ekspert
03. marts 2007 - 21:53 #50
Hmm...
Jeg tror evt. vi må tage den via MSN, ellers kommer vi ikke videre.
Jeg ved ikke hvad jeg skal bede dig gøre.
Avatar billede MarkA Praktikant
03. marts 2007 - 21:56 #51
det er fint med mig hvis du er frisk
Avatar billede MarkA Praktikant
03. marts 2007 - 21:58 #52
golfen@car-gossip.dk
Avatar billede jakobdo Ekspert
03. marts 2007 - 23:05 #53
Du får et svar!
Husk evt at smid den endelige kode herind!
Både på formen og scriptet som tager imod.
Avatar billede MarkA Praktikant
03. marts 2007 - 23:07 #54
Det skal jeg gøre... Og tak for hjælpen
Avatar billede jakobdo Ekspert
03. marts 2007 - 23:12 #55
takker for point.
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