Auf eigener Homepage uploaden

Maik1

Lt. Junior Grade
Registriert
Jan. 2005
Beiträge
408
Also ich will meine Homepage so programmieren, dass ich damit Dateien hochladen kann. Also man kann dis och mit den Anhängen vergleichen wie man sie hier im Forum hochladen kann und dass alle die dann sehen können, ohne dass man zum hochladen irgendwelche FTP-Programme oder andere Prog. braucht.
 
Hallo,

schau einmal hier. Dort findest du ein kleines Tutorial dazu. Allerdings muss dein Webserver dazu PHP unterstützen.

MfG mh1001
 
Ja das war genau das was ich gesucht hatte. Jetzt bräuchte ich nur noch irgend so nen html Code der alles anzeigt, was sich in einem Ordner auf dem Webserver befindet
 
Das sollte der Webserver schon selbst hinkriegen...
 
hi auch hier brauchst du mal wieder php und nicht html ;)
Hab hier einfach mal was altes von meiner Platte gekramt. Musst du halt noch entsprechend anpassen
PHP:
<?php
$Title = "Skifreizeit 2005 nach Obervellach";     // Seiten Titel
 
$MDir = "files";                                  // Daten Ordner
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
  <head>
    <title><?php echo $Title; ?></title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <style type="text/css">


a:link    { color:#3A3A3A; text-decoration:none; }
a:visited { color:#3A3A3A; text-decoration:none; }
a:active  { color:#3A3A3A; text-decoration:none; }
a:hover   { color:#010141; text-decoration:none; }
a:focus   { color:#010141; text-decoration:none; }

body
 {
  background-color:#DDDDDD;
  background-image:url(IMG/Background.jpg);
  background-repeat:no-repeat;
  background-position:center;
  background-position:middle;
  text-align:center;
 }
 
table
 {
  border:solid 2px #909090;
  background-color:#ADADAD;
  text-align:center;
 }

.Main_Table
 {
  width:700px;
 } 

th
 {
  color:#3A3A3A;
  
  border:solid 2px #909090;
  padding-top:10px;
  padding-left:10px;
  padding-right:10px;
  padding-bottom:10px;
  font-weight:bold;
 }
 
td
 {
  border:solid 1px #909090;
  padding-top:0px;
  padding-left:0px;
  padding-right:0px;
  padding-bottom:0px;
  font-weight:bold;
 }
 
td.text
 {
  border:solid 1px #909090;
  padding-top:10px;
  padding-left:10px;
  padding-right:10px;
  padding-bottom:10px;
  font-weight:bold;
 }
 
.TD_Filme
 {
  text-align:left;
  
  padding-top:5px;
  padding-left:200px;
  padding-right:200px;
  padding-bottom:5px;
 }


    </style>
  </head>
  <body>

<a name=top />

<?php

echo("<table cellspacing=3 class=\"Main_Table\">
       <tr>
        <th colspan=5>".$Title."</th>
       </tr>
      </table>
      
      <br />
      <br />
     ");



$rep=opendir("$MDir");

$Count = 1;
echo("<table cellspacing=3 class=\"Main_Table\">
      <tr>
       <th colspan=5>Dateien</th>
      </tr>
      <tr>
       <td class=\"TD_Filme\">");

While ($file = readdir($rep))
 {
  if($file !== "." && $file !== "..")
   {
    $size = filesize($MDir."/".$file); // Bytes
    $size = $size / 1024;              // Kilo Byte
    $size = $size / 1024;              // Mega Byte
    
    $size = explode(".", "$size");     // Komma abtrennen
    
    $vsize = $size[0];                 // Vorkommastellen
    $nsize = $size[1];                 // Nachkommastellen
    $nsize = $nsize[0].$nsize[1];      // Nachkommastellen reduzieren
      
    $size = $vsize.",".$nsize;         // Zahl zusammenfuegen
    
    echo("<a href=\"".$MDir."/".$file."\" target=_blank>".$file." (".$size." Mb)<br />
         ");
    
    $Count++;
   }
 }
closedir($rep);
clearstatcache();
echo("</td></tr><td colspan=5><br />".($Count-1)." Dateien vorhanden <a href=#top>.:Nach oben:.</a></td></tr></table>");

?> 
  </body>
</html>
 
Zuletzt bearbeitet: (das script war nur für filme, ich habs mal schnell erweitert...)
Also ich versteh von php sehr wenig. Das ganz oben hab ich ja kapiert aber hier unten weiß ich net wo ich was ändern muss. Kannst mir das mal bitte genauer beschreiben?
 
eigentlich musst du oben nur den Titel ersetzen (" Zeichen müssen stehen bleiben)
und arunter den Ordner, indem die dateien liegen.
Das ganze speicherst du dann zb als dateien.php auf deinem server ab und fertig.
 
Und wenn ich das dann gespeichert hab, wie kann ich mir das dann anschauen was in einem Ordner is? Muss ich da irgendwie nen Link zu dem PHP-Code machen?
 
Interessiert mich auch, wo kann ich das obere Script einsetzen? In den Quellcode der Homepage, wo genau?

Wie bearbeite ich den php Code? Mit welchem Programm?
 
Zuletzt bearbeitet von einem Moderator:
Also ich habe den PHP-Code in den Texteditor kopiert und dann als dateien.php abgespeichert. Als ich dann alles in den Texted. kopiert hatte hab ich dan oben mit Titel und Ordner so verändert wie ich es mir dachte. Danach sa mein PHP-Code so aus:

<?php
$Title = "Bilder"; // Seiten Titel

$MDir = "images"; // Daten Ordner
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title><?php echo $Title; ?></title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<style type="text/css">


a:link { color:#3A3A3A; text-decoration:none; }
a:visited { color:#3A3A3A; text-decoration:none; }
a:active { color:#3A3A3A; text-decoration:none; }
a:hover { color:#010141; text-decoration:none; }
a:focus { color:#010141; text-decoration:none; }

body
{
background-color:#DDDDDD;
background-image:url(IMG/Background.jpg);
background-repeat:no-repeat;
background-position:center;
background-position:middle;
text-align:center;
}

table
{
border:solid 2px #909090;
background-color:#ADADAD;
text-align:center;
}

.Main_Table
{
width:700px;
}

th
{
color:#3A3A3A;

border:solid 2px #909090;
padding-top:10px;
padding-left:10px;
padding-right:10px;
padding-bottom:10px;
font-weight:bold;
}

td
{
border:solid 1px #909090;
padding-top:0px;
padding-left:0px;
padding-right:0px;
padding-bottom:0px;
font-weight:bold;
}

td.text
{
border:solid 1px #909090;
padding-top:10px;
padding-left:10px;
padding-right:10px;
padding-bottom:10px;
font-weight:bold;
}

.TD_Filme
{
text-align:left;

padding-top:5px;
padding-left:200px;
padding-right:200px;
padding-bottom:5px;
}


</style>
</head>
<body>

<a name=top />

<?php

echo("<table cellspacing=3 class=\"Main_Table\">
<tr>
<th colspan=5>".$Title."</th>
</tr>
</table>

<br />
<br />
");



$rep=opendir("$MDir");

$Count = 1;
echo("<table cellspacing=3 class=\"Main_Table\">
<tr>
<th colspan=5>Dateien</th>
</tr>
<tr>
<td class=\"TD_Filme\">");

While ($file = readdir($rep))
{
if($file !== "." && $file !== "..")
{
$size = filesize($MDir."/".$file); // Bytes
$size = $size / 1024; // Kilo Byte
$size = $size / 1024; // Mega Byte

$size = explode(".", "$size"); // Komma abtrennen

$vsize = $size[0]; // Vorkommastellen
$nsize = $size[1]; // Nachkommastellen
$nsize = $nsize[0].$nsize[1]; // Nachkommastellen reduzieren

$size = $vsize.",".$nsize; // Zahl zusammenfuegen

echo("<a href=\"".$MDir."/".$file."\" target=_blank>".$file." (".$size." Mb)<br />
");

$Count++;
}
}
closedir($rep);
clearstatcache();
echo("</td></tr><td colspan=5><br />".($Count-1)." Dateien vorhanden <a href=#top>.:Nach oben:.</a></td></tr></table>");

?>
</body>
</html>

Und als ich das dann im Internet angeschaut hab sa das so aus: siehe Anhang

Was hab ich da falsch gemacht?
 

Anhänge

  • PHP.GIF
    PHP.GIF
    118,1 KB · Aufrufe: 222
Hallo,

so wie es aussieht unterstützt dein Webspace kein PHP.
Bei welchem Anbieter bist du denn?

@Willüüü

Obigen Code kannst du in jeden beliebigen Texteditor einfügen und dann mit der Endung ".php" abspeichern.
Dann braucht du lediglich noch die beiden Angaben anpassen und die Datei auf deinen Webserver übertragen.

MfG mh1001
 
Zuletzt bearbeitet:
Super hat funktioniert, echt praktisch. Vielleicht muss er die Zugangsdaten von seinem FTP eintragen. Ging bei mir ohne auch nicht.

Danke.
 
[...] Vielleicht muss er die Zugangsdaten von seinem FTP eintragen. Ging bei mir ohne auch nicht. [...]
Daran wird es nicht liegen, da es sich ja um den zweiten Script handelt der nichteinmal eine FTP-Verbindung benötigt. ;)
Desweiteren ignoriert der PHP-Interpreter - falls überhaupt vorhanden ;) - jeglichen PHP-Code.

@Maik1

Sofern PHP-Unterstützung gegeben ist solltest du einmal die php.ini überprüfen, ob die entsprechende Dateiendung dort auch eingetragen ist.

MfG mh1001
 
Mit dem Script kann man doch garnichts hochladen, das liest doch lediglich den Inhalt eines Ordners aus. Das geht auch einfach mit DirectoryListing...
 
Also ich bin bei freenet bei so ner kostenlosen Sache angemeldet (hier könnt ihr ma gucken). ich bin mir da net so richtig sicher ob der Server php unterstützt. Kennt deswegen jemand eine Art den Inhalt von Webordnern anzuzeigen lassen und weiß jemand wie man Dateien hochladen kann ohne ein Programm benutzten zu müssen? Beide Fragen sollten daher mit Html-Codes beantwortet werden da php wahrscheinlich nich unterstützt wird.
 
Dein Anbieter bietet leider keinen Support für PHP oder eine andere serverseitige Sprache.
Das Auflisten der Ordnerinhalte ist mit dem vom merv angesprochenem DirectoryListing möglich.
Lege dazu einfach eine Datei mit dem Namen .htaccess und folgendem Inhalt im jeweiligen Verzeichnis ab:
Code:
Options +Indexes
Allerdings ist dabei auch fraglich ob der Hoster dafür Unterstützung bietet.
Für den Upload-Script ist aber auf jeden Fall eine serverseitige Sprache nötig - reines HTML reicht da nicht aus. ;)
Wenn du eine solche Funktion dennoch realisieren möchtest bleibt dir wohl nichts anderes übrig, als den Hoster zu wechseln.

MfG mh1001
 
Da wäre aber auch gleich noch nen anderes Problem. Bei den meisten Hostern ist der maximale Wert für Uploads via PHP stark beschränkt. Okay, für kleine Dateien (bei mir bis 8 MB) reicht es. Aber sobald die Dateien größer sind geht es auch mit PHP nicht mehr. Zudem kann man den Uploadvorgang schlecht überprüfen, soweit ich weiß.
Aber für nen Bilderupload langts alle mal, so wie hier > http://screenshotdb.merv.de
 
Also ich ahb jetzt ma meinen Anbieter gewechselt. Ich hab den PHP Code zum Anzeigen von Ordnerinhalten mal ausprobiert (der von V1tzl1) und da kommt ein anderer Fehler: siehe Anhang

Was hab ich falsch gemacht?
 

Anhänge

  • B.GIF
    B.GIF
    128,3 KB · Aufrufe: 212
Hi du hast ein Problem mit deine4m Datei Ordner, bitte stell sicher, dass du die dateien mit folgender Ordner struktur gespeichert hast.

irgenteinverzeichniss/dateien.php
irgenteinverzeichniss/files/testdatei1.txt
irgenteinverzeichniss/files/testdatei2.jpg
usw...

Edit: Ich sehe gerade, dass du $MDir = "images"; verändert hast, hast du auch wirklich den Ordner images dafür genutzt?
 
Zurück
Oben