php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Jobs und Projekte > Projekthilfe
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Projekthilfe Hier könnt Ihr eine Art Projekthilfe anfordern. Unter Projekthilfe verstehen wir Angebote bei denen KEIN Geld gezahlt werden kann.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 09-11-2007, 19:58
si.baer
 Newbie
Links : Onlinestatus : si.baer ist offline
Registriert seit: Nov 2007
Beiträge: 9
si.baer ist zur Zeit noch ein unbeschriebenes Blatt
Lightbulb Automatisch PageRank ermitteln

Für mein Hobby Projekt habe ich die Funktion eingefügt, automatishc den Pagerank von Links zu ermitteln. Allerdings funktioniert die Funktion (mittels cronjob) nicht. Der cronjob ist dabei nicht das Problem. Kann jemand den Fehler entdecken?

Zitat:
<?php
define('GOOGLE_MAGIC',0xE6359A60);
define('LOAD',TRUE);
require_once('/lib/config.php');
require_once(/lib/db/db.php');

$errMsg = ''; $errFlag = 0;
$db =& new db();
$dbCon = $db->dbConnect($cfgArr['db']['dbHost'],$cfgArr['db']['dbUser'],$cfgArr['db']['dbPass'],$cfgArr['db']['dbName']);

if($dbCon)
{
$query1 = "select uwId,url from uWebInfo order by uwId";
$result1 = $db->dbQuery($query1);
if($result1 && ($db->dbNumRows($result1)>0))
{
while($row1 = $db->dbFetchArray($result1))
{
$urlToFind = $row1['url'];

// http://www.example.com/ - Checksum: 6540747202
$url = 'info:'.$urlToFind;
$ch = GoogleCH(strord($url));
//printf("ch:\t6%u\n",$ch);
$url = 'http://www.google.com/search?client=navclient-auto&ch=6'.$ch.'&features=Rank&q=info:'.$urlToFind;
$rankInfo = @file_get_contents($url);
$rankArr = explode(':',$rankInfo);

$googleRank = (isset($rankArr[2]))?$rankArr[2]:0;
$query2 = "update uWebInfo set googleRank=$googleRank where uwId=$row1[uwId]";
$result2 = $db->dbQuery($query2);
if(!$result2 || ($db->dbAffectedRows()<0))
{
error_log($query2.' - '.$db->dbError().NL,3,'log/google_rating_update.log');
}/**/
}
error_log(date('Y-M-d h:i:s').NL,3,'log/google_rating_done_time.log');
}
}
else
{
error_log(date('Y-M-d h:i:s').' - '.$db->dbError().NL,3,'log/google_rating_db_error.log');
}



//unsigned shift right
function zeroFill($a, $b)
{
$z = hexdec(80000000);
if ($z & $a)
{
$a = ($a>>1);
$a &= (~$z);
$a |= 0x40000000;
$a = ($a>>($b-1));
}
else
{
$a = ($a>>$b);
}
return $a;
}


function mix($a,$b,$c) {
$a -= $b; $a -= $c; $a ^= (zeroFill($c,13));
$b -= $c; $b -= $a; $b ^= ($a<<8);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,13));
$a -= $b; $a -= $c; $a ^= (zeroFill($c,12));
$b -= $c; $b -= $a; $b ^= ($a<<16);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,5));
$a -= $b; $a -= $c; $a ^= (zeroFill($c,3));
$b -= $c; $b -= $a; $b ^= ($a<<10);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,15));

return array($a,$b,$c);
}

function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC) {
if(is_null($length)) {
$length = sizeof($url);
}
$a = $b = 0x9E3779B9;
$c = $init;
$k = 0;
$len = $length;
while($len >= 12) {
$a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
$b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
$c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
$mix = mix($a,$b,$c);
$a = $mix[0]; $b = $mix[1]; $c = $mix[2];
$k += 12;
$len -= 12;
}

$c += $length;
switch($len) /* all the case statements fall through */
{
case 11: $c+=($url[$k+10]<<24);
case 10: $c+=($url[$k+9]<<16);
case 9 : $c+=($url[$k+8]<<8);
/* the first byte of c is reserved for the length */
case 8 : $b+=($url[$k+7]<<24);
case 7 : $b+=($url[$k+6]<<16);
case 6 : $b+=($url[$k+5]<<8);
case 5 : $b+=($url[$k+4]);
case 4 : $a+=($url[$k+3]<<24);
case 3 : $a+=($url[$k+2]<<16);
case 2 : $a+=($url[$k+1]<<8);
case 1 : $a+=($url[$k+0]);
/* case 0: nothing left to add */
}
$mix = mix($a,$b,$c);
/*-------------------------------------------- report the result */
return $mix[2];
}

//converts a string into an array of integers containing the numeric value of the char
function strord($string) {
for($i=0;$i<strlen($string);$i++) {
$result[$i] = ord($string{$i});
}
return $result;
}

?>
Mit Zitat antworten
  #2 (permalink)  
Alt 09-11-2007, 20:23
Xer0
 Newbie
Links : Onlinestatus : Xer0 ist offline
Registriert seit: Aug 2007
Beiträge: 60
Xer0 ist zur Zeit noch ein unbeschriebenes Blatt
Xer0 eine Nachricht über ICQ schicken
Standard

Fehlerausgabe etc?
Mit Zitat antworten
  #3 (permalink)  
Alt 09-11-2007, 20:28
si.baer
 Newbie
Links : Onlinestatus : si.baer ist offline
Registriert seit: Nov 2007
Beiträge: 9
si.baer ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Fehlerausgabe erhalte ich keine, sowohl wenn das Skript als cronjob läuft als auch wenn ich das sktipt als url aufrufe.
Allerdings werden die Werte nicht in die mysql datenbank eingetragen.
Mit Zitat antworten
  #4 (permalink)  
Alt 09-11-2007, 20:34
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Testausgaben machst du natürlich auch nicht?
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5 (permalink)  
Alt 09-11-2007, 20:38
si.baer
 Newbie
Links : Onlinestatus : si.baer ist offline
Registriert seit: Nov 2007
Beiträge: 9
si.baer ist zur Zeit noch ein unbeschriebenes Blatt
Wink

Testausgaben?
Mit Zitat antworten
  #6 (permalink)  
Alt 09-11-2007, 20:38
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

*move* nach Projekthilfe...
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #7 (permalink)  
Alt 10-11-2007, 13:16
Xer0
 Newbie
Links : Onlinestatus : Xer0 ist offline
Registriert seit: Aug 2007
Beiträge: 60
Xer0 ist zur Zeit noch ein unbeschriebenes Blatt
Xer0 eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von si.baer
Testausgaben?
print_r() zum Beispiel
Relevante Variableninhalte ausgeben und auswerten!

Geändert von Xer0 (10-11-2007 um 13:18 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 10-11-2007, 13:17
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Oder ein popeliges echo reicht meist schon aus...
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #9 (permalink)  
Alt 10-11-2007, 13:19
Xer0
 Newbie
Links : Onlinestatus : Xer0 ist offline
Registriert seit: Aug 2007
Beiträge: 60
Xer0 ist zur Zeit noch ein unbeschriebenes Blatt
Xer0 eine Nachricht über ICQ schicken
Standard

Jo Tobiaz, aber ist das nicht normales debuggen wenn ein Script nicht läuft?
Mit Zitat antworten
  #10 (permalink)  
Alt 10-11-2007, 13:39
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Ich sehe schon einen Unterschied zw. Debugging und Testausgaben.
Ist hier aber unwichtig.
Wenn es hilft, den Fehlern auf die Spur zu kommen, dann ist es richtig. Egal wie man es nennt oder was man genau gemacht hat.

Geändert von onemorenerd (10-11-2007 um 13:43 Uhr)
Mit Zitat antworten
  #11 (permalink)  
Alt 10-11-2007, 13:39
si.baer
 Newbie
Links : Onlinestatus : si.baer ist offline
Registriert seit: Nov 2007
Beiträge: 9
si.baer ist zur Zeit noch ein unbeschriebenes Blatt
Standard

kann mir jemand dabei helfen?
Mit Zitat antworten
  #12 (permalink)  
Alt 10-11-2007, 13:51
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Du hast also nicht ansatzweise verstanden, was das Script macht, oder? Das wäre nämlich der erste Schritt.

Und wenn du das getan hast, kannst du ganz einfach mal die Rückgabe der HTTP-Request ausgeben. Das wird mit sicherheit weitere Infos liefern.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #13 (permalink)  
Alt 10-11-2007, 13:55
si.baer
 Newbie
Links : Onlinestatus : si.baer ist offline
Registriert seit: Nov 2007
Beiträge: 9
si.baer ist zur Zeit noch ein unbeschriebenes Blatt
Standard

doch, was das skript macht habe ich ansatzweise schon verstanden.
ich glaube, der fehler liegt in der zeile

http://www.google.com/search?client=navclient-auto&ch=6'.$ch.'&features=Rank&q=info:'url'

google nennt uns scammer, die wir den pagerank ermittel wollen...
Mit Zitat antworten
  #14 (permalink)  
Alt 10-11-2007, 14:03
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Keine Ahnung, was Google (bzw DU) unter einem scammer versteht.

Aber lies dir die AGB durch, dann weißt du bescheid. Ich denke das ganze bedarf dann keiner weiteren Klärung mehr...
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

Plates native PHP template system

Plates ist ein natives PHP-Vorlagensystem, das schnell, einfach zu verwenden und einfach zu erweitern ist.

24.05.2019 Berni | Kategorie: PHP/ Framework
Maqetta Open Source  HTML5-Editor ansehen Maqetta Open Source HTML5-Editor

Einen WYSIWYG-Editor zur visuellen Erstellung von Userinterfaces in HTML5 (Drag-and-Drop)

13.05.2019 Berni | Kategorie: HTML5/ EDITOR
NodeBB

NodeBB ist eine Foren-Software auf NodeJS-Basis

13.05.2019 Berni | Kategorie: PHP/ Forum PHP Software
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:13 Uhr.