php.de

Zurück   php.de > Lösungen durch Skripte > Scriptbörse

Scriptbörse PHP Lösungen für nen schmalen Taler

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.03.2010, 11:18  
Neuer Benutzer
 
Registriert seit: 14.03.2010
Beiträge: 1
PHP-Kenntnisse:
Fortgeschritten
Fynar befindet sich auf einem aufstrebenden Ast
Standard

Angenommen die nummerieren die badgeds ganz normal durch.
wäre es da nicht von vorteil ne art zähler einzubauen der zählt wie oft hintereinander die datei nicht vorhanden ist?

so dass man dann überprüft "wenn 10x nix gefunden durchgang beenden".
oder werden die nummern der badgeds wild vergeben?
Fynar ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.03.2010, 14:58  
Neuer Benutzer
 
Registriert seit: 09.03.2010
Beiträge: 8
PHP-Kenntnisse:
Anfänger
HabStar befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Heavyfan Beitrag anzeigen
Man könnte alles auslesen indem man "jede" Url durchlaufen lässt.
Also nach dem Schema:

http://images.habbohotel.co.uk/c_images/album1584/{langkey}{counter}.gif

Allerdings dauert die Ausführung des Scripts dann auch locker ein paar Minuten,
was aber eine Möglichkeit wäre ... die Strings wo erreichbar sind in ne Datenbank zu schreiben und diese dann auslassen.

Ich hab dir hier mal das Script. Es funktioniert, ist ein wenig kommentiert, aber
wie oben erwähnt dauert die Ausführung etwas länger

PHP-Code:
<?php
// Hier wird das Array mit den Spachcodes gefüllt, kannst natürlich auch dementsprechend dann
// filtern und sie so nach Sprach-Kriterien sortieren.
$lang_arr = array('CN''DK''DE''FI''FR''UK''IT''JP''CA''NL''NO''RU''SE''CH''ES''COM''ACH_');
// Die Maximal-Zahl hinter dem Sprachcode.
$max_digit 999;

// Sprachen werden durchlaufen
foreach($lang_arr as $lang) {
    
// Zahlen werden durchlaufen
    
for($x 0$x <= $max_digit$x++) {
        
// Wenn nicht genügend nullen vor der Zahl sind wird eine oder zwei hinzugefügt
        
if(strlen($x) == 1$x "00" $x;
        else if(
strlen($x) == 2$x "0" $x;
        
        
// Der String mit der Url zum auslesen
        
$datei "http://images.habbohotel.co.uk/c_images/album1584/".$lang.$x.".gif";
        
// Hier das @ vor der Funktion, damit keine Fehler geworfen werden
        // Hier wird die Url geöffnet
        
$handle = @fopen($datei"rb");
        
        
// Verbindung wird geschlossen
        
@fclose($handle);

        
// Wenn die Datei nicht vorhanden ist, dann wird die nächste Datei aufgerufen
        
if(!$handle) {
            continue;    
        }
        else
        {
            
// Hier kannst du mit dem String (die Url) machen was du willst,
            // in diesem Fall wird sie einfach mit Zeilenumbruch ausgegeben.
            
echo $datei "<br />";
        }
    }
}                                                                       
?>
Ich bin grad selbst am überlegen ob mir eine elegantere Lösung einfällt,
weil das einfach zu lange dauert!!

==> So hab den Post ja noch nicht abgeschickt gehabt ... hab dir nun auch
die Datenbank-Version gebastelt. Ist etwas schneller, weil eben vorhandene Einträge nicht nochmal ausgelesen werden.

Mysql-Dump der Tabelle:
===================

Code:
CREATE TABLE IF NOT EXISTS `habbo_images` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `url` varchar(255) NOT NULL,
  `digit` varchar(5) NOT NULL,
  `language_code` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
Und nun hier das angepasste Script:

PHP-Code:
<?php
// Hier wird die Datenbankverbindung aufgebaut
mysql_connect("localhost""username""passwort");
mysql_select_db("datenbankname");

// Hier werden die bisherigen Einträge ausgelesen
$sql "SELECT * FROM `habbo_images`";
$query mysql_query($sql) or die(mysql_error());

    
// Hier werden die Daten in ein Array gepackt
    
while($fetch mysql_fetch_array($query)) {
        
$images[$fetch['language_code']][$fetch['digit']][] = $fetch['url'];
    }
    
// Hier wird das Array mit den Spachcodes gefüllt, kannst natürlich auch dementsprechend dann
// filtern und sie so nach Sprach-Kriterien sortieren.
$lang_arr = array('CN''DK''DE''FI''FR''UK''IT''JP''CA''NL''NO''RU''SE''CH''ES''COM''ACH_');

// Die Maximal-Zahl hinter dem Sprachcode.
$max_digit 999;

// Sprachen werden durchlaufen
foreach($lang_arr as $lang) {
    
// Zahlen werden durchlaufen
    
for($x 0$x <= $max_digit$x++) {
        
// Wenn nicht genügend nullen vor der Zahl sind wird eine oder zwei hinzugefügt
        
if(strlen($x) == 1$x "00" $x;
        else if(
strlen($x) == 2$x "0" $x;
        
        
// Überprüft ob der Eintrag schon vorhanden ist,
        // wenn ja dann wird das auslesen übersprungen.
        
if($images[$lang][$x][0] != "") continue; 
        
        
// Der String mit der Url zum auslesen
        
$datei "http://images.habbohotel.co.uk/c_images/album1584/".$lang.$x.".gif";
        
// Hier das @ vor der Funktion, damit keine Fehler geworfen werden
        // Hier wird die Url geöffnet
        
$handle = @fopen($datei"rb");
        
        
// Verbindung wird geschlossen
        
@fclose($handle);

        
// Wenn die Datei nicht vorhanden ist, dann wird die nächste Datei aufgerufen
        
if(!$handle) {
            continue;    
        }
        else
        {                                          
             
$sql "INSERT INTO `habbo_images` SET `url` = '".$datei."', `digit` = '".$x."', `language_code` = '".$lang."'";
             
$query mysql_query($sql) or die(mysql_error());
        }
    }
}                                                           
?>
So ich hoffe ich konnte dir helfen. Noch was zum Schluss. Lass das ganze
nicht bei jedem Aufruf durchlaufen, sondern leg dir einfach einen Cronjob/Crontab
an, dann hast es halt nicht LIVE aber immerhin kannst es jeden Tag ein paar Mal aktualisieren

Wie gesagt wenn mir was eleganteres einfällt, werde ichs posten.

Gruß & Gute Nacht,
Heavy

PS:
Ach verdammt, du wolltest die Bilder ja auf deinem Server speichern.
Ich werde schauen, vllt. pass ich das Script noch an, wobei du selber ja noch
etwas tun könntest

Ich danke dir wirklich vielmals, echt nett, dass du sowas machst. Die Bilder mussten nicht unbedingt auf meinen Server gespeichert werden. Nochmals, vielen Dank!
HabStar ist offline   Mit Zitat antworten
Alt 14.03.2010, 17:16  
Neuer Benutzer
 
Registriert seit: 14.03.2010
Beiträge: 6
PHP-Kenntnisse:
Fortgeschritten
Heavyfan befindet sich auf einem aufstrebenden Ast
Standard

Kein Problem, immer wieder gerne!
War auch ein Reiz sowas zu programmieren. Eigendlich wars ja total eaasy,
aber hat irgendwie auch spaß gemacht.


Gruß
Heavyfan ist offline   Mit Zitat antworten
Alt 05.04.2010, 21:05  
Neuer Benutzer
 
Registriert seit: 05.04.2010
Beiträge: 1
PHP-Kenntnisse:
Anfänger
Nesoc befindet sich auf einem aufstrebenden Ast
Standard

Emm, der script ist wirklich toll. Aber ich hätt da eine Frage. Ich hab mal es ausprobiert, und wenn ich es dann auf meiner Webspace anklicke kommt nur eine weiße Seite, was hat das zu bedeuten? Und könntes du für mich bitte es so bearbeiten, das es die Grafiken auf der Webspace speichert?
Nesoc ist offline   Mit Zitat antworten
Alt 20.10.2011, 17:26  
Neuer Benutzer
 
Registriert seit: 18.03.2011
Beiträge: 6
PHP-Kenntnisse:
Anfänger
test123 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Nesoc Beitrag anzeigen
Emm, der script ist wirklich toll. Aber ich hätt da eine Frage. Ich hab mal es ausprobiert, und wenn ich es dann auf meiner Webspace anklicke kommt nur eine weiße Seite, was hat das zu bedeuten? Und könntes du für mich bitte es so bearbeiten, das es die Grafiken auf der Webspace speichert?
Ja, ein Code das man auf dem Webspace speichern kann >_<!
test123 ist offline   Mit Zitat antworten
Alt 20.10.2011, 19:20  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 3.943
PHP-Kenntnisse:
Fortgeschritten
tr0y ist jedem bekannttr0y ist jedem bekannttr0y ist jedem bekannttr0y ist jedem bekannttr0y ist jedem bekannttr0y ist jedem bekannt
tr0y eine Nachricht über MSN schicken
Standard

Euch ist hier klar das ihr hier Content-Thieving supportet und Habbo das nur Seiten schriftlich gestatten könnte, das aber prinzipiell absolut und ohne außnahme untersagt ?

Sulake Corp Oy Europe - End-user Agreement / Therms of Use DE/Germany
Zitat:
(3) Die Website steht dir zum privaten und bestimmungsgemäßen Gebrauch zur Verfügung. Andere Nutzungen sind ausdrücklich untersagt, wie zum Beispiel:

- Auslesen von E-Mail-Adressen und Inhalten, insbesondere mittels technischer Hilfsmittel wie z.B. Hard- oder Software
Würde Habbo das wissentlich Dulden, gäbe es eine API ( und wenn nichts programmiertechnisches, zumindest einen Publish-Dump das die Community Pages nutzen könnten und die ( neueren ) Inhalte enthält ).
__________________
The PHP echo-command is the most powerful weapon of the world. A simple string "Fuck you, <insert random chief of state>. Cheers, yours <insert random chief of other state>." delivered with that command can and will raise wars. So, be careful developer, be careful.
tr0y ist gerade online   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[help]Server nach neuen Daten durchsuchen HabStar PHP Tipps 2010 2 10.03.2010 07:03
Anwendung für mehrere Server entwickeln smilla Software-Design 14 30.12.2009 00:05
Hilfe, Datenbank nimmt keine neuen Daten und alte nicht löschen! XTC PHP Tipps 2008 32 11.06.2008 14:15
streaming von videos, server lahmt bereits nach einem abruf snowflow Server, Hosting und Workstations 6 30.11.2006 18:04
Frage zu Windows Server 2003 b++ Off-Topic Diskussionen 1 03.03.2006 09:41
daten auf dem server verschieben $$$ ThiKool $$$ PHP Tipps 2007 24 06.12.2005 23:03
Session Frage - gleiches Formular 2 mal alle Daten behalten NetLook PHP Tipps 2007 1 21.11.2005 18:42
[Erledigt] sql daten für einen kunden auslesen/ändern im Formular PHP Tipps 2005-2 3 12.10.2005 08:36
[Erledigt] Daten auslesen und ändern Datenbanken 2 17.09.2005 19:28
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
[Erledigt] Daten auf anderen Server verschieben Datenbanken 4 01.09.2004 12:17
[Erledigt] Formular mit Daten werden auf anderer Seite zusammengefasst PHP Tipps 2004 4 15.08.2004 15:44
Neuen Pop3 server einrichten per HP... geht das??? imported_DJ Nuno PHP Tipps 2004 2 29.06.2004 08:37

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
server nach seite suchen?, $lang_arr = array(\'cn\', \'dk\', windows server 2003 fopen dauert lange, webseite nach bildern durchsuchen, server nach datei durchsuchen

Alle Zeitangaben in WEZ +1. Es ist jetzt 18:01 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum