phpBB blockt Upload?

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
[Cole]
Mitglied
Beiträge: 39
Registriert: 09.09.2004 15:27
Kontaktdaten:

phpBB blockt Upload?

Beitrag von [Cole] »

Hi, ich habe mir eben ein Uploadscript geschrieben damit registrierte User
Bilder und kleine Dateien zur Nutzung im Forum hochladen können.

Leider funktioniert es nicht wenn ich es in die Vorlage für in phpBB eingebundene Seiten integriere.

So sieht das eigentliche Script aus:

Code: Alles auswählen

<table align="center">
<tr>
<td>
<FORM ENCTYPE="multipart/form-data" ACTION="upload.php" METHOD=POST>
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input type="file" name="datei">
<input type="Submit"  value="Senden">
</Form>

<?
if(!empty($datei)) {
$data = fopen($datei, 'rb');
if (file_exists('downloads/user/'. $datei_name)) {
  $datei_name = rand(0,100000) .'_'. $datei_name;
}
copy("$datei", "downloads/user/". $datei_name);
fclose($data);                              
unlink("$datei");

echo "<br/><br/>Datei erfolgreich hochgeladen.";
echo "<br/><br/>Link: <a href=\"http://www.real-fans.de/downloads/user/". $datei_name ."\">". $datei_name ."</a>";
}
?>
</td>
</tr>
</table>
In dieser Form funktioniert es auch einwandfrei.

So habe ich versucht es in phpBB zu integrieren:

Code: Alles auswählen

<?php
//Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'config.'.$phpEx);

//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
if ($userdata['session_logged_in']) {
?>
<table align="center">
<tr>
<td>
<FORM ENCTYPE="multipart/form-data" ACTION="upload.php" METHOD=POST>
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input type="file" name="datei">
<input type="Submit"  value="Senden">
</Form>

<?
if(!empty($datei)) {
$data = fopen($datei, 'rb');
if (file_exists('downloads/user/'. $datei_name)) {
  $datei_name = rand(0,100000) .'_'. $datei_name;
}
copy("$datei", "downloads/user/". $datei_name);
fclose($data);                              
unlink("$datei");

echo "<br/><br/>Datei erfolgreich hochgeladen.";
echo "<br/><br/>Link: <a href=\"http://www.real-fans.de/downloads/user/". $datei_name ."\">". $datei_name ."</a>";
}
?>
</td>
</tr>
</table>
<?
//Footer - nur dann weglassen, wenn du auch den Header weglässt
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
}
?>
nur dann wird die Datei nicht gespeichert, die Seite reloaded einfach nur...

Mach ich da was falsch oder muss ich noch irgendwas verändern damit
das auch innerhalb von phpBB funktioniert?
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

Nimm mal statt

Code: Alles auswählen

if(!empty($datei)) {
dieses

Code: Alles auswählen

$datei = $_POST['datei'];
if(!empty($datei)) {
Und warum mischt du PHP und HTML? Nutz doch die Template-Funktion des phpBB
Benutzeravatar
[Cole]
Mitglied
Beiträge: 39
Registriert: 09.09.2004 15:27
Kontaktdaten:

Beitrag von [Cole] »

Code: Alles auswählen

$datei = $_POST['datei'];
Das hatte ich auch schon versucht, weil ich schonmal ein Problem
beim übergeben von Variablen per POST im phpBB hatte, das bringt
aber leider in diesem Fall nichts.
Auch statt "datei" einen anderen Namen zu nutzen hat nicht geholfen.
Und warum mischt du PHP und HTML? Nutz doch die Template-Funktion des phpBB
Mit dem erstellen von Templates habe ich mich noch nicht weiter befasst
und da ich nun sowieso schon mein Portal auf diese Weise erstellt habe...
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

Wie wärs wenn du dem Submit-Button einen Namen gibst und in der if($datei.. Abfrage noch prüfst..

Code: Alles auswählen

&& isset($_POST['submit'])
Benutzeravatar
[Cole]
Mitglied
Beiträge: 39
Registriert: 09.09.2004 15:27
Kontaktdaten:

Beitrag von [Cole] »

Ich hab jetzt folgendes geändert:

Code: Alles auswählen

<input type="Submit" name="submit" value="Senden">
</Form>

<?
$datei = $_POST['datei'];
if ((!empty($datei)) && isset($_POST['submit'])) {
Leider ohne Erfolg...
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“