Datei-Upload mit Blitz (Erledigt!)

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

BlitzGames

Betreff: Datei-Upload mit Blitz (Erledigt!)

BeitragMo, Aug 20, 2007 16:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich würde für mein neustes Spiel gerne den Benutzern die Möglichkeit geben, ihre Levels auf meine Homepage zu laden - und zwar direkt aus dem Spiel heraus.

Folgende Sachen bekomme ich nicht hin:

1) Bei Blitz: Upload einer Datei per POST-Verfahren
2) Bei Blitz: Datei auf der Homepage, die die Leveldateinamen speichert, verändern
3) Auf der Homepage: Leveldateinamen aus Datei lesen und auf Homepage zum Download anbieten

Den Ingame-Download-Teil werde ich wohl hinbekommen.

Kann mir jemand bei den 3 Problemen helfen ?
P.S.: Ich benutze Blitz3D, nicht BlitzMax.. meine Homepage unterstützt PHP, mySQL und was man so braucht..
  • Zuletzt bearbeitet von BlitzGames am Do, Aug 23, 2007 16:32, insgesamt einmal bearbeitet

Smily

BeitragDi, Aug 21, 2007 11:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Also:

per HTTP kannst du keine Datein auf einem Webspace anlegen/bearbeiten (wäre ja schreklich ^^) und FTP rate ich ab, da man mit wireshark etc. das PW abfangen kann.

Wenn du datein auf deinem Webspace hochladen willst, solltest du dir erst mit einer Serversprache (z.B. PHP) eine "Schnittstelle" Proggen. Die Daten sendest du dann an die Schnittstelle und diese erstellt serverseitig die Datei (bzw einen DB-Eintrag. Das würde ich persönlich sogar vorziehen)
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org
 

Dreamora

BeitragDi, Aug 21, 2007 12:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Wobei das mitunter bei Hostern nicht geht, da Fileupload ein potentielles Sicherheitsrisiko ist.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

BlitzGames

BeitragDi, Aug 21, 2007 13:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
"Schnittstelle" Proggen

Ich bin der absolute Neuling was PHP angeht.. meine HP besteht zwar aus lauter PHP-Dateien - aber PHP habe ich hier nur verwendet, um Schreibarbeit zu sparen.

Jemand eine Idee, wie das mit PHP funktionieren könnte ?

Zur Not bleibt nur das gute alte "Auf die Homepage gehen und dort die Level hochladen"..

Smily

BeitragDi, Aug 21, 2007 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Also wenn du berreits auf deiner HP die möglichkeit eingebunden hast, Levels hochzuladen, dann ist der schritt zu BB nicht mehr weit.
Wie schon gesagt, das Uploadscript selbst ist eher das schwierige. Wenn du DAS hast, ist die Anbindung an ein BB-Prog nur ein "Katzensprung"
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

BlitzGames

BeitragMi, Aug 22, 2007 9:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
#########################################################################
# Allgemeine INDEX-Datei für das GAM_USER-UPLOAD-CENTER V. 0.4          #
# Copyright by Aykut Cevik / Izmir/Turkey                               #
# eMail: a.cevik@web.de                                                 #
# homePage: www.gamerfun.de.vu                                          #
#########################################################################

(.........)

#### Liste ausgeben
if ($center == "list")
{
   if($enablelisting=="1")
   {
   echo '<table cellpadding="2" cellspacing="0" border="0">';
      $open = opendir ($ordner);
      $data=0;
      while ($file = readdir ($open))
         {
         if($file != "." && $file != "..")
         {
         $groesse=filesize($ordner."".$file);
         $groesse=$groesse/1024;
         settype($groesse, 'integer');
            echo "<tr><td>";filter_filetypes($file);echo"</td><td><a href=\"$ordner$file\" target=\"_blank\" alt=\"$file\"><b>$file</b></a></td><td><p>Gr&ouml;&szlig;e: ".$groesse." kb</a></td></tr>";
            $data++;
          }
      }
         if($data == "0") echo "<b>Liste ist leer!</b><br>";
   echo '</table>';
closedir($open);
   }
   else
   {
   echo '<p style="color:#9F0000;font-weight:bold">Das Datei-Listing wurde vom Admin gesperrt.</p>';
   }
}
echo "</li>
<li><a href=\"index.php?cat=upload&zutritt=".$pass."\">Level hochladen</a><br>";



#### Upload-Center ausgeben
if ($center == "upload")
   {

   if($_POST['action']=="upload")
      {
      $tmp_name = $HTTP_POST_FILES['bild']['tmp_name']; // Der Originalname
      $name = $HTTP_POST_FILES['bild']['name']; // Der Originalname
      $size = $HTTP_POST_FILES['bild']['size']; // Größe der Datei
      $type = $HTTP_POST_FILES['bild']['type']; // Der MIME Type der Datei

      $ext_tmp = explode(".", $name);
      $ext = ".".$ext_tmp[(count($ext_tmp)-1)];

      if(in_array($ext, $extensions))
      {
         if($size<=$maxsize && $size!=0)
         {
            while(file_exists($uploddir.$newname) || !$newname)
            {
               if($random_on == "1")
               {
                  $zeit_rand = microtime();
                  $name_rand = md5($name+$zeit_rand);
                  $newname = $name_rand.$ext;
               }
               else
               {
                  $newname = $name;
               }
            }

            if(move_uploaded_file($tmp_name, $uploddir.$newname))
            {
               write_file_add("uuc/log/uploads.log","Name: <".$name."> - Neuer Name: <".$newname.">, in den Ordner <".$ordner."> am ".date("d.m.Y, H:i:s",time())."
");
               echo "Die Datei erfolgreich hochgeladen.<br>";
               echo "Gr&ouml;&szlig;e: ".$size." Byte<br>";
               echo "Name: ".$name."<br>";
               echo "MIME-Type: ".$type."<br>";
            }
            else
            {
               echo "Fehler: Deitei konnte nicht verschoben werden!";
               echo "<br><a href=\"javascript:history.back()\">Zur&uuml;ck</a>";}
            }
            else
            {
               echo "Ihre Datei ($size) ist &uuml;ber $maxsize Bytes oder gleich 0 KB";
               echo "<br><a href=\"javascript:history.back()\">Zur&uuml;ck</a>";
            }
         }
         else
         {
            echo "Falsche Erweiterung: ".$name;
            echo "<br><a href=\"javascript:history.back()\">Zur&uuml;ck</a>";
         }
      }
      else
      {
         if($enableupload=="1")
         {
         echo "Willkommen beim User-Upload-Center.<br>";
         echo 'Erlaubte Erweiterungen: <b>';
         for($arr=0;$extensions[$arr];$arr++)
         {
         echo $extensions[$arr].'&nbsp;';
         }
         $maxgros=$maxsize/1024;
         settype($maxgros, 'integer');
         echo '<br>Max. Gr&ouml;&szlig;e: '.$maxgros.' kb</b>';
         echo "<form action='".$_SERVER['index.php?zutritt=&cat=upload']."' enctype=\"multipart/form-data\" method='post'>";
         echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"".$maxsize."\">";
         echo "<input type='hidden' name='action' value='upload'>";
         echo "<table>";
         echo "<tr>";
         echo "<td><p><b>Datei</b></td><td><input type='file' name='bild'></td>";
         echo "</tr><tr>";
         echo "<td> </td><td><input type='submit' value='Hochladen'></td>";
         echo "</tr>";
         echo "</form>";
         echo "</table>";
         }
         else
         {
         echo '<p style="color:#9F0000;font-weight:bold">Der Datei-Upload wurde vom Admin gesperrt.</p>';
         }

      }
   }
echo "</li></ol><p></p>";


Das ist der Quellcode vom GAM_USER-UPLOAD-CENTER. Hatte ich bisher für Secrets of Egypt verwendet..
Kann mir jemand bei der Portierung in Blitz helfen ?

Wie gesagt: Folgende Sachen muss ich wissen:

1) Das Listing der Dateien müsste an Blitz gesendet werden können
2) Dateien müssten an das Skript geschickt werden können und somit auf der Homepage gespeichert werden.

Der Dateidownload dürfte kein Problem sein..
www.blitzcase.com
www.anpfiff-spiel.de
www.fernsehtycoon.de
  • Zuletzt bearbeitet von BlitzGames am Mi, Aug 22, 2007 12:55, insgesamt einmal bearbeitet
 

Dreamora

BeitragMi, Aug 22, 2007 10:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Das mit dem Download is recht simpel:

Einfach den gesamten "Dekomist" rauswerfen, so dass du in jede Zeile eine Datei / URL packst, damit ist der Download dann simpel zu managen, einfach anfragen und die Antwort zeile für zeile auslesen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

BlitzGames

BeitragDo, Aug 23, 2007 16:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hat sich erledigt.. habe jetzt doch mich wieder gegen die Online-Anbindung was Levels betrifft entschieden.. dafür hat man auf der Homepage die Möglichkeit, Levels hochzuladen. Online aus dem Spiel heraus ist nur der Highscore..

Megaworm

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group