WebWork Magazin - Design, Gestaltung, Online Medien, html

Webhosting Provider Domain

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Binär-Daten von Upload in DB speichern

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. FRagen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Binär-Daten von Upload in DB speichern - 21 Nov 2017 Antworten
im Forum für Webhosting Homepage gefunden:
Binär-Daten von Upload in DB speichern
jans16
Pixelschubser
Threadstarter




Beiträge: 2

Hallo!
Ich wollte gern Bilder vom Upload per PHP in einer MySQL Datenbank speichern.
Habe das mit folgenden PHP-Code Veruscht:
(der Name vom File-Formularfeld heißt 'bild', und ein weiteres Text-Feld 'bild_name')
1: 
2: 
3: 
4: 
5: 
6:
$format = substr($_FILES['bild']['type'],6);
$handle = fopen ($_FILES['bild']['tmp_name'], "rb");
$datei = fread($handle, filesize($_FILES['bild']['tmp_name']));
fclose ($handle);
$sql = 'INSERT INTO `bilder` (`name`, `bild`, `format`) VALUES ("'.$bild_name.'", "'.$datei.'", "'.$format.'")';
mysql_query($sql);

Ich habe es auch schon mit
1:
$datei = file_get_contents($_FILES['bild']['tmp_name']);

versucht, leider ohne erfolg.
Wenn ich Test-Weise $datei ausgebe bekomme ich solch Zeichenketten ÒØ\¯”îΪACwØÝûuúU *W
Der Feld-Typ von 'bild' in der DB ist "mediumblob"
Hat jemand ne Idee was ich da noch falsch mache???
Gruß Jan

Diese Nachricht wurde geändert von: jans16
  Profil   Editieren   Zitieren
Rieke
Foren-Team





Beiträge: 1728

Ich kann sowas zwar nicht programmieren, aber ich weis das Bilder als text Datei geöffnet eben auch genau aus sollchen Zeichenketten besteht.

Funktioniert die Ausgabe nicht oder landet gar nichts in der DB ?

Noch bessere Frage... warum zur Hölle damit in die DB .. Bilder in die DB zu packen ist Verschwendung, es bläht eine Datenbank unnötig auf .. je aufgeblähter die DB ist um so mehr Performance geht flöten... in den meißten referenzbüchern wird davon abgeraten und das zu Recht

---

  Profil   E-Mail   Website   Editieren   Zitieren
pizzataxi
Quasselstrippe




Beiträge: 248

Nur mal als Vorschlag:

Du kannst doch die Pfade zu den hochgeladenen Bildern in der Datenbank speichern.
Das hat den Vorteil, dass Du - wie Rieke schon geschrieben hat - die DB nicht unnötig aufblähst und alle Vorteile von Datenbanken ausnutzen kannst.

Du würdest also zeilenweise die Tabelle auslesen und setzt in den <img> Tag dann den Bildpfad aus der DB.

  Profil   E-Mail   Editieren   Zitieren
jans16
Pixelschubser
Threadstarter




Beiträge: 2

DIe Bilder die ich testweise mit phpMyAdmin in die DB hochgeladen habe konnte ich auch einfach mit folgender bild.php (gekürzt) ausgeben:
1: 
2:
header("Content-Type: image/".$dsatz['format']);
echo $dsatz['bild'];

Aber bei dem oben gegannten PHP-Code landet gar nichts in der DB.
Mit außnahme, wenn es sich bei der hochgeladenen Bild-Datei nicht wirklich um ein Bild handelt also eine 0 Byte Datei oder eine Text-Datei die 'nur' *.jpg heißt.
Deshalb muss doch warscheinlich noch eine Umwandlung des Strings stattfinden, bevor er an die DB geschrieben wird.

PS: Aus bestimmten Gründen wollte ich eigendlich schon die Bilder selbst in der DB speichern und nicht nur die Pfade, und das sollte doch eigendlich auch mit PHP realisierbar sein...

  Profil   Editieren   Zitieren
zeTo
Quasselstrippe




Beiträge: 240

ich weiß es zwar nicht, aber ich könnte mir vorstellen, dass es genau so ist, wie beim email mit anhang versenden mit php.
d.h. man muss es erst encode:

base64_encode($file_data)

aber wie gesagt, ich hab keine ahnung, ich hab so was noch nie gemacht...

  Profil   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 171

naja, ist bissel viel jetz. hab den code einfach mal rauskopiert.
ich lad die bilder zb auf tripod hoch und benutz nen anderen webserver...
meinen eignen local-webserver...
ich schreiben die daten, die benötigt werden in die mysql...
welcher tripod-acc usw... es funktioniert echt super.
falls ihr irgendwo nicht klar kommt, oder ein modifiziertes script braucht,
einfach nochmal fragen.
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69: 
70: 
71: 
72: 
73: 
74: 
75: 
76: 
77: 
78: 
79: 
80: 
81: 
82: 
83: 
84: 
85: 
86: 
87: 
88: 
89: 
90: 
91: 
92: 
93: 
94: 
95: 
96: 
97: 
98: 
99: 
100: 
101: 
102: 
103: 
104: 
105: 
106: 
107: 
108: 
109: 
110: 
111: 
112: 
113: 
114: 
115: 
116: 
117: 
118: 
119: 
120: 
121: 
122: 
123: 
124: 
125: 
126: 
127: 
128: 
129: 
130: 
131: 
132: 
133: 
134: 
135: 
136: 
137: 
138: 
139: 
140: 
141: 
142: 
143: 
144: 
145: 
146: 
147: 
148: 
149: 
150: 
151: 
152: 
153: 
154: 
155: 
156: 
157:
<?php
session_start();
##################################################
# FTP Verbindung zu einem Server herstellen      #
# H. Raböse                                      #
# 17. 05. 2005                                   #
# v 1.0                                          #
##################################################
?>
 <body onunload="mywin.close()">
<script LANGUAGE="javascript">
function popup()
{
 mywin = window.open("timer.htm","untitled","width=310,height=400,left=0,top=0");
}
</script>
<?php
require"image.func.php";

$cnx=mysql_connect('localhost','**********','**********')or die(mysql_error());
mysql_select_db('index')or die(mysql_error());

$tab_bilderkat="pictures_cat";
$tab_bilder="pictures";

$server="ftp.mitglied.lycos.de";
$port  =21;
$ftpuser="**********";
$ftppass="*********";
$upload="bilder";
$date=time();

if(!$_POST['save']){

    $result=mysql_query("select * from $tab_bilder group by category order by category asc");

    echo"<FORM  action=\"".$_SERVER[PHP_SELF]."\" method=\"POST\" enctype=\"multipart/form-data\">
         Kategorie:
         <SELECT  name=\"cat\">
            <option selected></option>";
            while($row=@mysql_fetch_array($result)){
                echo"<option>".$row['category']."</option>";
            }
    echo"</SELECT> oder neue Kategorie <INPUT TYPE=\"TEXT\"  name=\"catnew\"><br>
         Datei: <input type=\"FILE\" name=\"pic\"><br>
         URL: <input type=\"text\" name=\"url\"><br>
         Beschreibung: <TEXTAREA  name=\"beschreibung\" rows=\"5\" cols=\"20\"></TEXTAREA><br>
         <INPUT TYPE=\"SUBMIT\"  name=\"save\" value=\"Speichern\" onClick=popup()>
         </FORM>";


}

if($_POST['save']){

    /*
    echo "  <script language=javascript>
                mywin = window.open(\"timer.htm\",\"untitled\",\"width=310,height=400,left=0,top=0\");
            </script>";
    */

    $cat    =$_POST['cat'];
    $catnew =$_POST['catnew'];
    $url    =$_POST['url'];


    if($_POST['cat']=="" && $_POST['catnew']==""){
        echo"Es muss eine Kategorie angegeben werden<br>";
        exit();
    }
    if($catnew!="") $cat="";

    $image=getimagesize($_FILES['pic']['tmp_name']);
    //print_r($image);echo"<br>";

    if(!$image[2]==1 || !$image[2]==2 || !$image[2]==3)
    {
        echo"Falsches Format. Nur <b>gif</b>, <b>jpg</b> oder <b>png</b>.<br>";
        exit();
    }
    $name=$_FILES['pic']['name'];
    $width=$image[0];
    $height=$image[1];

##################################################################
### bild in den tempordner kopieren und mit temp_NAME versehen ###
##################################################################

    copy($_FILES['pic']['tmp_name'],"temp/temp_".$_FILES['pic']['name']);
    $filename1="temp/temp_".$_FILES['pic']['name'];
    echo"Dateigröße=".filesize($filename1)." bytes<br>";
###########################################################################
#### Thumbnail erzeugen und unter thumb_NAME abspeichrn im ordner temp/ ###
###########################################################################
    if(thumbnail($_FILES['pic']['tmp_name'],70,'temp',"thumb_".$_FILES['pic']['name'])!=1){
        copy($_FILES['pic']['tmp_name'],"temp/thumb_".$_FILES['pic']['name']);
    }
    $filename2="temp/thumb_".$_FILES['pic']['name'];


$ftp_id=@ftp_connect($server,$port);
$login=@ftp_login($ftp_id,$ftpuser,$ftppass);
if((!$ftp_id) || (!$login)){
     echo "<br>FTP-Connect faild!<br>";
}
else{
     echo "Connected!<br>";
}
if(!@ftp_chdir($ftp_id,$upload)){               //--> in den bilderordner wecheln
    echo "Directory $upload not found<br>";
}
#############################################
#### Bild wird übermittelt ##################
#############################################
    if($cat!=""){
        ftp_chdir($ftp_id,$cat);                //--> in den categoryordner wecheln
        $category=$cat;
    }//--> alte category nutzen
    else{
        $category=$_POST['catnew'];
        ftp_mkdir($ftp_id,$catnew);             //--> categoryordner erzeugen
        ftp_chdir($ftp_id,$catnew);             //--> in categoryordner wecheln
        ftp_mkdir($ftp_id,"thumb");             //--> ordenr in cat-ordner für thumbnails erstellen
    }//--> neue category anlegen

    mysql_query("insert into $tab_bilder set
                                                name='$name',
                                                dest='$url',
                                                _describe='$beschreibung',
                                                _width='$width',
                                                _height='$height',
                                                category='$category',
                                                _date='$date' ")or die(mysql_error());

    $fp1=fopen($filename1,"r");
    $fp2=fopen($filename2,"r");

    ftp_fput($ftp_id,"$name",$fp1,FTP_BINARY);  //--> Orgbild übertragen
    ftp_chdir($ftp_id,"thumb");                 //--> in thumbordner wechseln
    ftp_fput($ftp_id,"$name",$fp2,FTP_BINARY);  //--> Thumbbild übertragen

    fclose($fp1);
    fclose($fp2);

    unlink($filename1);
    unlink($filename2);

if(ftp_close($ftp_id)) echo "Connetion closed<br>";

echo "  <head>
            <meta http-equiv=\"refresh\" content=\"0; URL=$_SERVER[PHP_SELF]\">
            <!-- ... andere Angaben im Dateikopf ... -->
        </head>";

//echo "<script language=javascript>mywin.close()</script>";
}//-- ende post[save]
?>


gruß raiserle aka Henrik

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
monolit
Feiertags-Poster




Beiträge: 40

Hallo,

ich möchte dir nicht den Tag versauen, kann mich aber den Vorrednern nur anschliessen.
Bildupload macht in der Regel in eine DB wenig Sinn. Die Gründe dafür haben meine Vorredner bereits genannt. Sowas macht nur in ganz speziellen Fällen Sinn.

Wobei ich denke dass so ein Thema wieder ne Diskussion auslösen könnte

Ansonsten:

Bild auf nen FTP laden -> Pfad dann in der MySQL speichert

Das ist wesentlich ressourcenfreundlicher und deine MySQL wirds dir auch danken.

Gruß Stefan

---
This is LINUX land, in silent nights you can hear the Windows machines rebooting.
Günstige MySQL Datenbanken - http://mysqlhosting.de

  Profil   Editieren   Zitieren
subjective
Forenheld




Beiträge: 845

Das laden auf den "FTP" ist auch nur in Sonderfällen sinnvoll. Damit PHP Bilder auf einen FTP-SErver laden kann, müssen sie erstmal per HTTP-Upload auf den Rechner, auf welchem PHP läuft. Wenn dieser mit dem Webseiten-Auslieferer identisch ist, mahct es wenig Sinn die Dateien noch mal über FTP zu senden, da man sie auch direkt in den Zielpfad verschieben kann.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
monolit
Feiertags-Poster




Beiträge: 40

Naja - ich denke wir können uns darauf einigen, dass je nach Nutzen die entsprechede Lösung (DB Store, FTP) praktibal ist. Das muss man eben abwägen. Hat beides seine Vor- und Nachteile.

---
This is LINUX land, in silent nights you can hear the Windows machines rebooting.
Günstige MySQL Datenbanken - http://mysqlhosting.de

  Profil   Editieren   Zitieren
subjective
Forenheld




Beiträge: 845

Drei Varianten

1. HTTP-Upload - Metadaten in die DB
2. HTTP-Upload - Alles in die DB
3. FTP-Upload - Sync in die DB

Der erste Fall ist die "normale" und wohl häufigste Variante. Einfach hochladen in ein bestimmtes Verzeichnis (möglichst außerhalb des Document-Root). Die zweite Variante ist bei verteilten Systemen denkbar, welche auf eine zentrale Datenbank zugreifen. Jedoch sollten die einzelnen Webserver die Bilder dann lokal cachen (im Dateisystem).

Der letzte Fall spielt seinne Vorteil aus, wenn man den Upload nicht mehr nur über den Browser erledigt. FTP ist deutlich schneller und kommt auch mit sehr großen Dateien zurecht. Die Vorteile kommen jedoch nur zum Tragen, wenn man einen speziellen Client nutzt.



---
Weaverslave

  Profil   Website   Editieren   Zitieren
monolit
Feiertags-Poster




Beiträge: 40

Okay wenn du das so unterscheidest, hab ich mich wohl falsch ausgedrückt *g*
Ich meinte in Bezug auf den obigen Post die erste Möglichkeit ;)

---
This is LINUX land, in silent nights you can hear the Windows machines rebooting.
Günstige MySQL Datenbanken - http://mysqlhosting.de

  Profil   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 171

@ subjective:

es macht schon sinn bei mir...

die normale ist wohl schon, wie du sagst.... nur hatte ich glaub schon dazu gesagt,
oder nicht?, das meicn webserver hier local bei mir steht.
damit die bilder nicht so viel traffic bei mir verursachen, lade ich sie per ftp zu lycos hoch
und setze den pfad zum bild in der sql ein....

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 171

achso, vergessen...
bei anderen scripten von mir, wird natürlich nur http(php) benutzt,
um bilder hochzuladen...
wie bei dem mit ftp, wird der pfad dann wieder in der mysql hinterlegt....

hätte vielleicht nen anderes script raussuchen sollen, um das hier nicht
unnötig zu komplizieren. das war aber gleich das erste, was ich in die finger bekommen
habe.

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
subjective
Forenheld




Beiträge: 845

Ich hatte das ja schon darauf eingeschränkt, das Upload- und Seitenserver identisch wären.

Du hast natürlich recht. Bei einem solchen verteilten System, wie du es beschreibst, macht es sehr viel Sinn den zweiten Teil der Strecke FTP zu nutzen.

---
Weaverslave

Diese Nachricht wurde geändert von: subjective
  Profil   Website   Editieren   Zitieren
DJOtti
Pixelschubser




Beiträge: 2

Hallo,
kann mir auch jemand helfen, bin nicht so das Programmiergenie. Versuche mit diesem Code die Datei auf einen Server zu laden und gleichzeitig den Datei-Namen (strFileName) und die Beschreibung (bildername) in eine DB-Tabelle (newsbilder) zu schreiben. Aber irgendwie bekomme ich hiermit nur den Upload hin, er schreib mir nichts in die DB.

Wäre nett, wenn mir irgendeiner helfen könnte.

Gruss
Frank


1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68:
<?php
//Verbindung zum Datenbankserver
include ("mysql.php");
?>
<?php

$pfad   	= "/home/www/web***/images/news";  # absoluter Pfad zum Uploadordner / Chmod 7-7-7
$numfiles   = "1";										 					# Anzahl der Uploadfelder
$b_min	    = "10";										 					# minimale Bytes
$b_max      = "1048576";						    		 					# maximale Bytes / 1024 Bytes = 1 KB / 1024 KB = 1 MB

$mb = $b_max/1048576;
$mb = round($mb, 2);

// Datei hochladen
if (isset($sendfiles)){

  if ("$bildername" == ""  ) {
    echo ("<p>&nbsp;<p>Es muss mindestens der Name eingetragen werden !!!<p><a href='javascript:history.back()'>zur&uuml;ck</a><p>");
    exit();
  } else {

	$numsendfiles = count($HTTP_POST_FILES);
	foreach($HTTP_POST_FILES as $strFieldName => $arrPostFiles){
    if ($arrPostFiles['size'] > $b_min && $arrPostFiles['size'] < $b_max){
			$strFileName = $arrPostFiles['name'];
			$strFileTemp = $arrPostFiles['tmp_name'];
			@copy ($strFileTemp, "$pfad/$strFileName");
			echo "<br><span class=\"grossschrift\"><font color=#820000><b>Datei <u>$strFileName</u> erfolgreich  hochgeladen.</b></font></span><br>";
			
    $bildername = strip_tags($bildername);
    $strFileName = strip_tags($strFileName);
  	    
    $bildername = str_replace('"', "'", $bildername);
	$strFileName = str_replace('"', "'", $strFileName);
		
   	// $sql = "insert into (bildername,strFileName) VALUES( '$bildername', '$strFileName')";
    $sql = "insert into newsbilder set
			bildername = '$bildername',
	  	    strFileName = '$strFileName'";
		
	}else{
	   		echo "<br><span class=\"grossschrift\"><font color=red><b>Die Datei mu&szlig; gr&ouml;&szlig;er als $b_min Bytes und kleiner als $mb MB sein!</b></font></span><br>";}

    }

  } // if
	
} // if (isset($sendfiles))

?>
<table cellspacing="0" cellpadding="0" border="0"><tr><td>
Die Datei darf nicht gr&ouml;&szlig;er als <?php echo "$mb"; ?> MB sein.<br>

<form enctype="multipart/form-data" method="post" action="<? echo $PHP_SELF ?>">
<?php
echo " Bildername:<br><input name=bildername type=text class=text size=40><br><br>";
echo "<b>$numfiles</b> ";
echo $numfiles == '1' ? 'Datei kann' : 'Dateien k&ouml;nnen';
echo ' hochgeladen werden.<p>';

for ($i=1; $i<=$numfiles; $i++){
	echo "<input type=\"File\" name=\"myfile$i\" class=\"input\"><br>\n";}
	echo '<br><br><input type="Submit" name="sendfiles" value="hochladen" class="button"><br>';

?>

</form>

  Profil   Editieren   Zitieren
Seite 1 | 2  

Antworten


Forum » PHP & MySQL » Binär-Daten von Upload in DB speichern

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Binär-Daten von Upload in DB speichern im Forum Homepage Hosting AntwortenLetztes Posting
Top 10 Forex Brokers and Trading Platforms to trade online
in "PHP & MySQL"
0 16.11.2017 09:37 von Pelelliki
Schnell viel Geld ohne Aufwand verdienen, mit dem Smartphone
in "PHP & MySQL"
5 07.09.2017 19:25 von Angel26
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
0 03.09.2017 22:01 von Tainor
CMS für Online Shop
in "PHP & MySQL"
20 07.08.2017 05:54 von Isasimon
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji
php preg_replace_callback für dynamischen Link
in "PHP & MySQL"
0 05.07.2016 11:02 von Rm21
PHP Code verschlüsseln
in "PHP & MySQL"
20 21.02.2016 21:25 von Kilian1
migrierter WP-Blog läuft nicht ...
in "PHP & MySQL"
0 04.02.2016 02:01 von Oxygon
migrierter WP-Blog läuft nicht ...
in "PHP & MySQL"
0 04.02.2016 02:01 von Oxygon
Fertige PHP Scripte für Ihre Homepage
in "PHP & MySQL"
0 16.12.2015 12:02 von PHP-Script-Shop
Callback Befehl ++ Session ID Eintrag +++
in "PHP & MySQL"
2 16.12.2015 11:57 von PHP-Script-Shop
PHP befehl ausführen
in "PHP & MySQL"
9 16.12.2015 11:52 von PHP-Script-Shop
suche online community script
in "PHP & MySQL"
3 16.12.2015 11:51 von PHP-Script-Shop
Text basierender Chat
in "PHP & MySQL"
5 16.12.2015 11:51 von PHP-Script-Shop



Besucher : 5376099    Heute : 467     Gestern : 1431     Online : 32     21.11.2017    9:16      1 Besucher in den letzten 60 Sekunden        
alle 60.00 Sekunden ein neuer Besucher
Die letzten 30 Referrer :

1 4:17 - google.com/search - content
2 4:15 - google.com/search - content
3 3:57 - google.com/search - content
4 3:13 - google.com/search - content
5 2:41 - google.com/search - content
6 2:22 - google.com/search - content
7 2:18 - google.com/search - content
8 2:16 - google.com/search - content
9 2:13 - google.com/search - content
10 2:12 - google.com/search - content
11 2:10 - google.com/search - content
12 2:09 - google.com/search - content
13 2:05 - google.com/search - content
14 2:02 - google.com/search - content
15 1:25 - google.com/search - content
16 1:02 - google.com/search - content
17 23:32 - google.com/search - content
18 22:58 - google.com/search - content
19 21:09 - google.com/search - content
20 21:00 - google.com/search - content
21 20:51 - bing.com/search - patchday november 2017
22 18:04 - google.com/search - content
23 18:03 - google.com/search - content
24 18:00 - google.com/search - content
25 17:34 - google.com/search - content
26 17:30 - google.com/search - content
27 16:08 - google.com/search - content
28 15:44 - bing.com/search - knistern boxen pc
29 15:13 - google.com/search - content
30 14:30 - google.com/search - content

Nach oben