ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Usergallery und chmod rechte

Geschlossen
  1. #1
    User Pic
    lordrepha Mitglied
    Registriert seit
    11.03.2006
    Beiträge
    1.362
    Beitragswertungen
    22 Beitragspunkte
    ich habe das problem das nach dem Serverumzug in der Usergallery die bilder die hochgeladen werden nicht die richtigen chmod rechte bekommen um angezeigt werden zu können... die thubnails bekommen allerdings die richtigen mod rechte...

    liegt das am script (was ich mir nicht vorstellen kann da es ja sonst überall funktioniert)

    oder am provider???


    verwendete ilchClan Version: 1.1

    betroffene Homepage: gw2-buendnis.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Eigentlich wird im Script an allen Stellen der chmod gesetzt, allerdings hast du deine Seite ja schon länger und vielleicht ist es in deiner gallery.php (admin) nicht drin, kannst ja darin mal nach chmod suchen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    lordrepha Mitglied
    Registriert seit
    11.03.2006
    Beiträge
    1.362
    Beitragswertungen
    22 Beitragspunkte
    im script werden dei chmod rechte richtig vergeben beim hochladen....


    # Bilder in eine Kategorie hochladen
    if ( $menu->get(1) == 'uploadImages' ) {
      $msg = '';
      if (isset($_POST['hochladen']) AND $_POST['hochladen'] == 'yes') {
        foreach ($_FILES['file']['name'] AS $k => $v) {
          if (!empty($_FILES['file']['name'][$k])) {
            $name = $_FILES['file']['name'][$k];
            $tmp = explode('.',$name);
            $tm1 = count($tmp) -1;
            $endung = $tmp[$tm1];
            unset($tmp[$tm1]);
            $name = implode('',$tmp);
            $besch = escape($_POST['besch'][$k],'string');
            $id = db_result(db_query("SHOW TABLE STATUS FROM `". DBDATE ."` LIKE 'prefix_gallery_imgs'"),0,'Auto_increment');
            $bild_url = 'include/images/gallery/img_'.$id.'.'.$endung;
            if (@move_uploaded_file ($_FILES['file']['tmp_name'][$k], $bild_url)) {
              @chmod($bild_url, 0777);
              db_query("INSERT INTO prefix_gallery_imgs (cat,datei_name,endung,besch) VALUES (".$menu->get(2).",'".$name."','".$endung."','".$besch."')");
              $msg .= 'Datei '.$name.'.'.$endung.' erfolgreich hochgeladen<br />';
              $bild_thumb = 'include/images/gallery/img_thumb_'.$id.'.'.$endung;
              $bild_norm  = 'include/images/gallery/img_norm_'.$id.'.'.$endung;
              create_thumb ($bild_url, $bild_thumb, $allgAr['gallery_preview_width']);
              @chmod($bild_thumb, 0777);
              create_thumb ($bild_url, $bild_norm , $allgAr['gallery_normal_width']);
              @chmod($bild_norm, 0777);
            } else {
              $msg .= 'Datei '.$name.'.'.$endung.' konnte nicht hochgeladen werden<br />';
            }
          }
        }
      }



    Zuletzt modifiziert von lordrepha am 19.10.2008 - 11:38:15
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Also das hochladen funktioniert, aber nicht das setzen der Rechte?

    Schon komisch, wenn du das @ vor den chmods weg machst, könntest du mal überprüfen, ob PHP eine Fehlermeldung ausgibt.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    lordrepha Mitglied
    Registriert seit
    11.03.2006
    Beiträge
    1.362
    Beitragswertungen
    22 Beitragspunkte
    das @ habe ich noch nicht weggemacht aber mir is noch was aufgefallen die normale gallerie funktieniert anstandslos es wird dort ganz normal alle richtigen rechte vergeben...

    alles geht ohne probleme nur eben die usergallery nicht....

    schon komisch
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Oh sorry, ich bin von der normalen Gallery ausgegangen, die Usergallery wäre natürlich in der include/contents/user/usergallery.php weiß ja nicht, ob du da auch schon nachgeschaut hast.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    lordrepha Mitglied
    Registriert seit
    11.03.2006
    Beiträge
    1.362
    Beitragswertungen
    22 Beitragspunkte
    also hier mal den code von meiner usergallery.php habe da vor langer zeit mal was gecoded... eine watermark funktion die lief auch immer tadellos...+

    <?php 
    function watermark($image, $watermark, $save_as, $position=5, $transparency=0, $t_x=0, $t_y=0) { 
    
        if($position < 1 || $position > 9) 
            return FALSE; 
        if(!file_exists($image) || !file_exists($watermark)) 
            return FALSE; 
        $infos_img = getimagesize($image); 
        $infos_wat = getimagesize($watermark); 
        if(!in_array($infos_img[2], array(2,3)) ||     !in_array($infos_wat[2], array(2,3))) 
            return FALSE; 
        if($infos_img[0]<$infos_wat[0] || $infos_img[1]<$infos_wat[1]) 
            return FALSE; 
        if($infos_wat[0]<$t_x || $infos_wat[1]<$t_y) 
            return FALSE; 
        $transparency = 100 - $transparency; 
        if($transpareny < 0 || $transpareny > 100) 
            return FALSE; 
        @unlink($save_as); 
    
        // Position x         
        switch (($position-1)%3) { 
            case 0: 
                $pos_x = 0; 
                break; 
            case 1: 
                $pos_x = round(($infos_img[0]-$infos_wat[0])/2, 0); 
                break; 
            case 2: 
                $pos_x = $infos_img[0]-$infos_wat[0]; 
                break; 
        } 
        // Position y 
        switch (floor(($position-1)/3)) { 
            case 0: 
                $pos_y = 0; 
                break; 
            case 1: 
                $pos_y = round(($infos_img[1]-$infos_wat[1])/2, 0); 
                break; 
            case 2: 
                $pos_y = $infos_img[1]-$infos_wat[1]; 
                break; 
        } 
        // watermark-procedure 
        if($infos_img[2] == 2) 
            $img_image = imagecreatefromjpeg($image); 
        if($infos_img[2] == 3) 
            $img_image = imagecreatefrompng($image); 
        if($infos_wat[2] == 2) 
            $img_watermark = imagecreatefromjpeg($watermark); 
        if($infos_wat[2] == 3) 
            $img_watermark = imagecreatefrompng($watermark); 
        imagealphablending($img_image, TRUE); 
        imagealphablending($img_watermark, TRUE); 
    imagecolortransparent($img_watermark, imagecolorat($img_watermark, $t_x, $t_y)); 
    imagecopymerge($img_image, $img_watermark, $pos_x, $pos_y, 0, 0 
    , $infos_wat[0], $infos_wat[1], $transparency); 
    if(strtolower(substr($save_as, -3)) == "png") { 
            if(imagepng($img_image, $save_as)) 
                return TRUE; 
            else 
                return FALSE; 
        } else { 
            if(imagejpeg($img_image, $save_as)) 
                return TRUE; 
            else 
                return FALSE; 
        } 
        return FALSE; 
    } 
    ?>
    
    <?php 
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    
    if ($allgAr['forum_usergallery'] == 0) { exit(); }
    
    $uid = escape($menu->get(2), 'integer');
    $img_per_site = $allgAr['gallery_imgs_per_site'];
    $img_per_line = $allgAr['gallery_imgs_per_line'];
    
    # zeige alle gallery
    if (empty($uid)) {
    
    	$title = $allgAr['title'].' :: Users :: Gallery';
    	$hmenu  = $extented_forum_menu.'<a class="smalfont" href="?user">Users</a><b> &raquo; </b>Gallery'.$extented_forum_menu_sufix;
    	$design = new design ( $title , $hmenu, 1);
    	$design->header();
    	$i = 0;
    	$class = 'Cmite';
    	$x = '';
    	if (loggedin()) 
    	{
    		$x .= '<a href="index.php?user-usergallery-'.$_SESSION['authid'].'">Eigene Bilder hochladen Klick Hier!!!! (Maximale Bildgröße ist 1,5MB)</a><br /><br />';
    	}
    	$erg = db_query("SELECT uid, prefix_user.name as uname, COUNT(*) as anz FROM prefix_usergallery LEFT JOIN prefix_user ON prefix_usergallery.uid = prefix_user.id GROUP BY uid, uname ORDER BY anz DESC");
    	$x .= '<br><table width="100%" border="0" cellpadding="4" cellspacing="1" class="border"><tr><th class="Chead" colspan="5">Benutzergalerie</td></tr><tr>';
    	while ($r = db_fetch_assoc($erg)) 
    	{
    		$i++;
    		$erg1 = db_query("SELECT id, name, endung FROM prefix_usergallery WHERE uid=".$r['uid']);
    		$bild="";
    		if ($r1 = db_fetch_assoc($erg1))
    		{
    			$bild="<img src='include/images/usergallery/img_thumb_".$r1['id'].".".$r1['endung']."' alt='".$r1['name']."' border=0>";
    		}
    		
    		$class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' );
    		$x .= '<td valign="top" class="'.$class.'"><table border="0" align="center"><tr><td align="center"><b><a href="index.php?user-usergallery-'.$r['uid'].'">'.$r['uname'].'</a></b></td></tr><tr><td align="center"><a href="index.php?user-usergallery-'.$r['uid'].'">'.$bild.'</a></td></tr><tr><td align="center"><span class="smalfont">Anzahl Bilder: '.$r['anz'].'</span></td></tr></table></td>';
    		
    		if ( $i <> 0 AND ($i % 5 ) == 0 ) 
    		{ 
    			$x .= '</tr><tr><td colspan="5" class="Cnorm">&nbsp;</td></tr><tr>'; 
    		}
    	}
    	$colrest=5 - ($i % 5);
    	$einf="";
    	if ($colrest!=5)
    	{
    		$einf="<td class='Cnorm' colspan='".$colrest."'>&nbsp;</td>";
    	}
    	$x .= $einf.'</tr></table>'; 
    	$tpl = new tpl ( 'user/gallery');
    	$tpl->set_out('x',$x,4);
    	$design->footer();
    	exit();
    }
    
    # user gallery zeigen
    $uname = db_result(db_query("SELECT name FROM prefix_user WHERE id = ".$uid),0,0);
    
    $title = $allgAr['title'].' :: Users :: Gallery';
    $hmenu  = $extented_forum_menu.'<a class="smalfont" href="index.php?user">Users</a><b> &raquo; </b><a class="smalfont" href="?user-usergallery">Gallery</a><b> &raquo; </b>von '.$uname.$extented_forum_menu_sufix;
    $design = new design ( $title , $hmenu, 1);
    $design->header();
    
    
    
    $tpl = new tpl ('user/gallery');
    $tpl->set('uid', $uid);
    $tpl->set('uname', $uname);
    # bild loeschen...
    if ($menu->getA(4) == 'd' AND is_numeric($menu->getE(4)) AND loggedin() AND (is_siteadmin() OR $uid == $_SESSION['authid'])) {
      $delid = escape($menu->getE(4), 'integer');
      $x = @db_result(db_query("SELECT endung FROM prefix_usergallery WHERE uid = ".$uid." AND id = ".$delid),0,0);
      if (!empty($x)) {
        @unlink ( 'include/images/usergallery/img_thumb_'.$delid.'.'.$x );
        @unlink ( 'include/images/usergallery/img_'.$delid.'.'.$x );
        @db_query("DELETE FROM prefix_usergallery WHERE uid = ".$uid." AND id = ".$delid);
      }
    }
    
    # bild hochladen
    if (is_writeable('include/images/usergallery') AND loggedin() AND $uid == $_SESSION['authid']) {
      require_once('include/includes/func/gallery.php');
      
      $size = @getimagesize ($_FILES['file']['tmp_name']);
      
      if (!empty($_FILES['file']['name']) AND ($size[2] == 2 OR $size[2] == 3)) {
        $name = $_FILES['file']['name'];
        $tmp = explode('.',$name);
        $tm1 = count($tmp) -1;
        $endung = escape($tmp[$tm1], 'string');
        unset($tmp[$tm1]);
        $name = escape(implode('',$tmp), 'string');
        $besch = escape($_POST['text'], 'string');
        $id = db_result(db_query("SHOW TABLE STATUS FROM `". DBDATE ."` LIKE 'prefix_usergallery'"),0,'Auto_increment');
        $bild_url = 'include/images/usergallery/img_'.$id.'.'.$endung;
        $bild_url_tmp = 'include/images/usergallery/img_'.$id.'.'.$endung.'.tmp';
    	$testbed=false;
    	if ($_POST[ohnewat])
    		$bild_url_tmp=$bild_url;
        if (@move_uploaded_file ($_FILES['file']['tmp_name'], $bild_url_tmp)) {
          db_query("INSERT INTO prefix_usergallery (uid,name,endung,besch) VALUES (".$uid.",'".$name."','".$endung."','".$besch."')");
    	  if ($bild_url_tmp!=$bild_url) {
    		  watermark($bild_url_tmp, "Bilder/transbanner.jpg", $bild_url, 1);
    		  @unlink($bild_url_tmp);
    	  }
          $bild_thumb = 'include/images/usergallery/img_thumb_'.$id.'.'.$endung;
          create_thumb ($bild_url, $bild_thumb, $allgAr['gallery_preview_width']);
          echo '<b>Datei '.$name.'.'.$endung.' erfolgreich hochgeladen</b><br />';
          $page = $_SERVER["HTTP_HOST"]. dirname($_SERVER["SCRIPT_NAME"]);
          echo 'Bildlink: <a target="_blank" href="http://'.$page.'/'.$bild_url.'">http://'.$page.'/'.$bild_url.'</a><br />';
          echo 'Oder klein: <a target="_blank" href="http://'.$page.'/'.$bild_thumb.'">http://'.$page.'/'.$bild_thumb.'</a><br /><br />';  
        }
      }
    }
      
    # bilder abfragen
        $limit = $img_per_site;
        $page = ($menu->getA(3) == 'p' ? $menu->getE(3) : 1 );
        $MPL = db_make_sites ($page , '' , $limit , 'index.php?user-usergallery-'.$uid , "usergallery WHERE uid = ".$uid);
        $anfang = ($page - 1) * $limit;
    		$erg = db_query("SELECT name, besch, endung, id FROM prefix_usergallery WHERE uid = ".$uid." ORDER BY id DESC LIMIT ".$anfang.",".$limit);
    		
        $tpl->set('imgperline', $allgAr['gallery_imgs_per_line']);
        $tpl->set('MPL',$MPL);
        $tpl->out(0); $class = 'Cnorm';
        $i = 0;
        if ( db_num_rows($erg) > 0 ) {
    			while($row = db_fetch_assoc($erg) ) {
    				$class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' );
    				$row['class'] = $class;
            $row['besch'] = unescape($row['besch']);
            if (loggedin() AND (is_siteadmin() OR $uid == $_SESSION['authid'])) {
              $row['besch'] .= '<a href="index.php?user-usergallery-'.$uid.'-p'.$page.'-d'.$row['id'].'"><img src="include/images/icons/del.gif" border="0" alt="l&ouml;schen" title="l&ouml;schen" /></a>';
            }
            $row['width'] = round( 100 / $img_per_line );
            if ( $i <> 0 AND ($i % $img_per_line ) == 0 ) { echo '</tr><tr>'; }
    			  $tpl->set_ar_out($row,1);
            $i++;
    			}
          if ( $i % $img_per_line <> 0 ) {
            $anzahl = $img_per_line - ($i % $img_per_line);
            for($x=1;$x<=$anzahl;$x++){
              echo '<td class="'.$class.'"></td>';
            }
          }
        }
        $tpl->out(2);
    # bilder abfragen
    
    
    # bild hochladen
    if (is_writeable('include/images/usergallery') AND loggedin() AND $uid == $_SESSION['authid']) {
      $tpl->out(3);
    }
    
    $design->footer();
    ?>
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    lordrepha Mitglied
    Registriert seit
    11.03.2006
    Beiträge
    1.362
    Beitragswertungen
    22 Beitragspunkte
    ok war mein fehler habe die chmod rechte dort nocheinmal eingetragen und funzt perfekt...

    danke mairu
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten