• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
  • Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.

Download Regionsbilder via PHP-Script

Atlan Bade

Nutzer
Um meine BlakeSeaKarte (siehe hier bei Flickr) in hoher Auflösung zu erstellen, hatte ich mir ein PHP-Script geschrieben um die einzelnen Regionsbilder auf meinen Pc down zu loaden. Diese einzelnen Bilder baute ich dann zu der BlakeSeaMap zusammen.
Dieser Download mittel php-Script ging bis April 2017 problemlos, seitdem ist es nicht mehr möglich.
Ich habe die Befürchtung das LL es auf seine Servern verboten hat, mittels eines Scriptes Dateien down zu loaden.
Das reine Anzeigen der Regionsbilder mittels Script funktioniert immer noch, bei Download werden allerding nur 0kb Dateien erstellt.

Hat da jemand Informationen zu oder eine Idee warum der Download nicht mehr geht?


Für PHP-Kenner hier den Codeschnipsel vom Downlaod:
....
echo "<img src=\"http://map.secondlife.com/map-1-$str_spalte-$str_zeile-objects.jpg\">";
$contents= file_get_contents('http://map.secondlife.com/map-1-$str_spalte-$str_zeile-objects.jpg');
$savename = ("$str_spalte-$str_zeile");
$savefile = fopen("$savename.jpg", "w");
fwrite($savefile, $contents);
fclose($savefile);
...


Darstellen mit "echo" geht, downloaden mit "file_get_contents" geht nicht mehr.
 

Atlan Bade

Nutzer
Danke und nein noch nicht versucht.
Das sieht aber eher auf den ersten Blick aus, das es zum downloaden ganzer Websites ist.
 

Atlan Bade

Nutzer
Nein, kein API.
ich will ja die Map nict in eine Website einbinden sondern nur die regionsbilder downloaden um dann daraus eine Bilddatei zu erstellen.
 

Uli Jansma

Inworld Koordinator
Teammitglied
Hier mal die Batch Datei zum downloaden der Grafiken:

Code:
@echo off

for /l %%spalte in (1,1,2000) do (
 for /l %%zeile in (1,1,2000) do (
  wget http://map.secondlife.com/map-1-%%spalte-%%zeile-objects.jpg
 )
)

Frage ist jetzt nur, welche Koordinaten nutzt Du.
Das (1,1,2000) bedeutet: starte bei 1, erhöhe um 1, bis 2000

Welches Tool benutzt Du zum zusammenfügen der JPG Dateien?
 

Uli Jansma

Inworld Koordinator
Teammitglied
Soooo ... unsere erste selbst-gebastelte Karte ist fertig:

upload_2018-1-17_23-4-36.png

Das Skript:

Code:
@echo off

:: download
for /l %%s in (1055,1,1075) do (
 for /l %%z in (1130,1,1150) do (
  wget http://map.secondlife.com/map-1-%%z-%%s-objects.jpg
  if not exist map-1-%%z-%%s-objects.jpg copy blanko.jpg map-1-%%z-%%s-objects.jpg
 )
)

for /l %%z in (1055,1,1075) do (
  d:\sl-map\im\convert +append map-1-*-%%z-objects.jpg sl-map-%%z.jpg
)

copy sl-map-1130.jpg sl-map.jpg

for /l %%s in (1075,-1,1055) do (
  d:\sl-map\im\convert sl-map.jpg sl-map-%%s.jpg -append sl-map.jpg
)

Man braucht:

wget für Windows > http://gnuwin32.sourceforge.net/packages/wget.htm
convert von ImageMagick > https://www.imagemagick.org/script/download.php

Viel Spass damit :)
 

Atlan Bade

Nutzer
Vielen Dank für die Infos.

Das Script entspricht ziemlich genau meinem PHP-Script und macht prinzipiell auch das gleiche.
Damit klappt auch der Download auch, warum es mit PHP nicht mehr geht ist mir allerdings unklar.
Immerhin hab ich fast zwei Jahre so die Regionsbilder runter gelanden.
 

Uli Jansma

Inworld Koordinator
Teammitglied
Kleines update:

Das Skript
Code:
@echo off

::   |
:: Y |
::   |
::   +----------
::        X
::
:: X = Zeile
:: Y = Spalte

set xstart=1138
set ystart=1082

set xende=1170
set yende=1095

:: download
for /l %%s in (%ystart%,1,%yende%) do (
 for /l %%z in (%xstart%,1,%xende%) do (
  cls
  echo %%z %%s
  wget http://map.secondlife.com/map-1-%%z-%%s-objects.jpg
  if not exist map-1-%%z-%%s-objects.jpg copy blanko.jpg map-1-%%z-%%s-objects.jpg
 )
)


for /l %%z in (%ystart%,1,%yende%) do (
  d:\sl-map\im\convert +append map-1-*-%%z-objects.jpg sl-map-%%z.jpg
)

copy sl-map-%xstart%.jpg sl-map.jpg

for /l %%s in (%yende%,-1,%ystart%) do (
  cls
  d:\sl-map\im\convert sl-map.jpg sl-map-%%s.jpg -append sl-map.jpg
)

ren sl-map.jpg secondlife-map-%ystart%-%yende%x%xstart%-%xende%.jpg

:: cleanup
del sl-map*.jpg
del map*.jpg

:: done
start secondlife-map-%ystart%-%yende%x%xstart%-%xende%.jpg

Kleine Erklärung:

Jede Region hat Koordinaten. Im Skript werden die 4 Koordinaten von zwei Regionen eingetragen.
Sowohl von der Region, die unten links ist, und von der Region, die oben rechts ist.

Und zwar hier:
set xstart=1138 < region unten rechts
set ystart=1082 < region unten rechts

set xende=1170 < region oben links
set yende=1095 < region oben links

upload_2019-8-29_15-59-57.png

Das Skript macht einen Download von jeder Region und klebt die Bilder zu einer Karten zusammen.
Wenn er eine Region findet, die es nicht gibt, fügt er die Blanko Karte ein. Das ist eine einfache schwarze Fläche mit 256x256 Pixel.
 

Anhänge

  • blanko.jpg
    blanko.jpg
    1,7 KB · Aufrufe: 0

Aktive User in diesem Thread

Oben Unten