MyBB.de Forum

Normale Version: [NG] Zip-Datei Anhänge sind fehlerhaft...
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
(12.11.2008, 10:45)derdemo schrieb: [ -> ]eine Idee was ich wie und warum noch testen ändern machen kann ?!

Ehrlich gesagt ... keine Ahnung, sollte aber kein Browser-Problem sein (getestet mit FF2, Opera und IE6).

Die Datei läßt sich bei mir mit WinZip Pro 10.0 problemlos entpacken; WinRar 3.42 bringt die von Jockl beschriebene Fehlermeldung, entpacken ist damit aber nicht möglich.
das ist ja genau das, was ich bestätigen kann...

aber habe einmal weitergesucht...
Geleiches Problem auch bei rar Files... ?!

wenn ich per ftp mir die Attachments downloade und umbenenne, dann kann ich sie ganz normal entpacken...
also ist der Upload aus meiner Sicht IO... es scheint ein Problem mit der attachments.php zu geben...

evtl. fehlerhafter header... ?!
Anbei einmal 2 Testfiles mit besagtem Problem
auffällig ist, dass die defekte Datei nur einen Headereintrag hat sonst nichts...

Beide Dateien sind vom gleichen Server Datei über myBBoard downgeloaded und die andere per ftp und umbenannt...
(12.11.2008, 11:30)derdemo schrieb: [ -> ]evtl. fehlerhafter header... ?!
Richtig. Bei dir wird ein BOM-Header mitgesendet, der das Problem verursacht. Hast du in der letzten Zeit Sprachdateien bearbeitet?

Siehe: https://www.mybb.de/doku/haeufig-gestell...datei.html
ja, aber keine spezielle... ?! eigentlich nur wg. usermap...Sad

was kann ich dagegen nun machen ? habe einmal die "original" languages files einmal hochgeladen... aber selber Effekt...

D.h. wenn ich dann aber auf english umschalte, sollte es funktionieren.... da ich da nichts geändert habe... aber das tut es auchnicht... ?!

bin echt ratlos...Sad
Habe zusätzlich die attachments.php ausgetauscht, aber keine Besserung...

Wie könnte ich weiter vorgehen, um den Fehler zu beheben... ?!
@michael: welche Dateien soll ich noch austauschen... ?
Welche Dateien hast du bearbeitet und noch nicht neu hochgeladen? Diese solltest du erneuern.
so, ich habe nun ALLE Dateien per FTP neu hochgeladen... nach wie vor das gleiche Problem...

Kann es sein, das es in einer Template-Tabelle in der DB noch ein Problem gibt ? (wobei ich das nicht logisch finde... da der Fehler ja am FileHeader liegt... ?!

anbei mal die attachment.php

PHP-Code:
<?php
/**
 * MyBB 1.4
 * Copyright © 2008 MyBB Group, All Rights Reserved
 *
 * Website: http://www.mybboard.net
 * License: http://www.mybboard.net/about/license
 *
 * $Id: attachment.php 4143 2008-08-22 02:47:25Z Tikitiki $
 */

define("IN_MYBB"1);
define('THIS_SCRIPT''attachment.php');

require_once 
"./global.php";

// Find the AID we're looking for
if($mybb->input['thumbnail'])
{
    
$aid intval($mybb->input['thumbnail']);
}
else
{
    
$aid intval($mybb->input['aid']);
}

$plugins->run_hooks("attachment_start");

$pid intval($mybb->input['pid']);

// Select attachment data from database
if($aid)
{
    
$query $db->simple_select("attachments""*""aid='{$aid}'");
}
else
{
    
$query $db->simple_select("attachments""*""pid='{$pid}'");
}
$attachment $db->fetch_array($query);
$pid $attachment['pid'];

$post get_post($pid);
$thread get_thread($post['tid']);

if(!
$thread['tid'] && !$mybb->input['thumbnail'])
{
    
error($lang->error_invalidthread);
}
$fid $thread['fid'];

// Get forum info
$forum get_forum($fid);

// Permissions
$forumpermissions forum_permissions($fid);

if(
$forumpermissions['canview'] == || $forumpermissions['canviewthreads'] == || ($forumpermissions['candlattachments'] == && !$mybb->input['thumbnail']))
{
    
error_no_permission();
}

// Error if attachment is invalid or not visible
if(!$attachment['aid'] || !$attachment['attachname'] || (!is_moderator($fid) && $attachment['visible'] != 1))
{
    
error($lang->error_invalidattachment);
}

if(!
$mybb->input['thumbnail']) // Only increment the download count if this is not a thumbnail
{
    
$attachupdate = array(
        
"downloads" => $attachment['downloads']+1,
    );
    
$db->update_query("attachments"$attachupdate"aid='{$attachment['aid']}'");
}

// basename isn't UTF-8 safe. This is a workaround.
$attachment['filename'] = ltrim(basename(' '.$attachment['filename']));

$plugins->run_hooks("attachment_end");

if(
$mybb->input['thumbnail'])
{
    
$ext get_extension($attachment['thumbnail']);
    switch(
$ext)
    {
        case 
"gif":
            
$type "image/gif";
            break;
        case 
"bmp":
            
$type "image/bmp";
            break;
        case 
"png":
            
$type "image/png";
            break;
        case 
"jpg":
        case 
"jpeg":
        case 
"jpe":
            
$type "image/jpeg";
            break;
        default:
            
$type "image/unknown";
            break;
    }

    
header("Content-disposition: filename=\"{$attachment['filename']}\"");
    
header("Content-type: ".$type);
    
$thumb $mybb->settings['uploadspath']."/".$attachment['thumbnail'];
    
header("Content-length: ".@filesize($thumb));
    echo 
file_get_contents($thumb);
}
else
{
    
$ext get_extension($attachment['filename']);

    if(
strpos(strtolower($_SERVER['HTTP_USER_AGENT']), "msie") !== false)
    {
        
header("Content-disposition: attachment; filename=\"{$attachment['filename']}\"");
    }
    else
    {
        
header("Content-disposition: inline; filename=\"{$attachment['filename']}\"");
    }

    
header("Content-type: {$attachment['filetype']}");
    
header("Content-length: {$attachment['filesize']}");
    
header("Content-range: bytes=0-".($attachment['filesize']-1)."/".$attachment['filesize']);
    echo 
file_get_contents($mybb->settings['uploadspath']."/".$attachment['attachname']);
}
?>

EDIT: Würde es etwas nutzen (um wieder zip Dateien im Forum nutzen zu können...) wenn ich den Header "fest" in der attachments.php einstelle ?
Wenn ich den Headereintrag so abändere funktioniert es ... ?!

PHP-Code:
header("Content-type: unknown/unknown");
    
//header("Content-length: {$attachment['filesize']}");
    //header("Content-range: bytes=0-".($attachment['filesize']-1)."/".$attachment['filesize']); 


Aber das kann ja nicht die Lösung sein... oder ?!
Möglicherweise existiert das Problem schon in der Originalsprachdatei eines Plugins, etc.? Ich kann nur für unsere Dateien sprechen, in denen das Problem nicht auftritt.
Aber... was hat die Sprachdatei mit diesem Problem zu tun ? die attachment.php ist aus dem "original" myBBoard Paket von euch... wirklich komisch...
Kann mir einmal jemand seine attachment.php posten... ?!

Habe bisher alle Files ausgetauscht und bekomme es einfach nicht in den Griff...

Was ich noch herausfinden konnte war, das das Problem auch nach Änderung des Headers... in header("Content-type: unknown/unknown"); nur mit der Windowseigenen ZIP-Funktion auftritt... ?!
(13.11.2008, 06:55)derdemo schrieb: [ -> ]Aber... was hat die Sprachdatei mit diesem Problem zu tun ? die attachment.php ist aus dem "original" myBBoard Paket von euch... wirklich komisch...
Das Problem liegt auch vermutlich nicht in der attachments.php, sondern in einer bearbeiteten Datei oder Sprachdatei. Beinhaltet nur eine der geladenen Dateien den BOM-Header, wird dieser gesendet.

Kannst du mal bitte eine leere PHP-Datei auf den Webspace legen und den Link hier posten? Vielleicht wird der falsche Header auch schon vom Server gesendet, das könnte man dann feststellen. Wichtig ist aber, dass du die neue Datei im Format ANSI oder UTF-8 ohne BOM abspeicherst.
die leere php-Testdatei findest du hier...

http://www.diadem-forum.de/test.php

Gruß Dennis
Seiten: 1 2 3