Avatar billede expnet Seniormester
19. juli 2004 - 18:00 Der er 13 kommentarer og
1 løsning

point til razmuz_dk

point til dig razmuz_dk

da det sådan set er dit script jeg kunne bruge http://www.eksperten.dk/spm/520540
Avatar billede jammerlab Nybegynder
19. juli 2004 - 18:06 #1
Er det ikke bedre jeg giver ham de point? :P
Avatar billede expnet Seniormester
19. juli 2004 - 19:28 #2
nej din løsning er også okay bare til en anden opgave jeg har LOL
Avatar billede expnet Seniormester
19. juli 2004 - 19:34 #3
razmuz_dk -> eller en anden hvordan kan jeg køre det script+mysql
Avatar billede jammerlab Nybegynder
19. juli 2004 - 19:57 #4
<?php

$query = mysql_query("SELECT * FROM links")or die (mysql_error());
while($row = mysql_fetch_array($query)) {

function remote_file_exists($url)
{
  $head = '';
  $url_p = parse_url ($url);

  if (isset ($url_p['host']))
  { $host = $url_p['host']; }
  else
  {
      return '1 Invalid URL host';
  }

  if (isset ($url_p['path']))
  { $path = $url_p['path']; }
  else
  { $path = ''; }

  $fp = fsockopen ($host, 80, $errno, $errstr, 20);
  if (!$fp)
  {
      return '2 Unable to connect to remote host';
  }
  else
  {
      $parse = parse_url($url);
      $host = $parse['host'];

      fputs($fp, 'HEAD '.$url." HTTP/1.1\r\n");
      fputs($fp, 'HOST: '.$host."\r\n");
      fputs($fp, "Connection: close\r\n\r\n");
      $headers = '';
      while (!feof ($fp))
      { $headers .= fgets ($fp, 128); }
  }
  fclose ($fp);
 
  // for debug
  //echo nl2br($headers);
 
  $arr_headers = explode("\n", $headers);
  if (isset ($arr_headers[0]))    {
      if(strpos ($arr_headers[0], '200') !== false)
      { return true; }
      if( (strpos ($arr_headers[0], '404') !== false) ||
          (strpos ($arr_headers[0], '410') !== false))
      { return false; }
      if( (strpos ($arr_headers[0], '301') !== false) ||
          (strpos ($arr_headers[0], '302') !== false))
      {
          preg_match("/Location:\s*(.+)\r/i", $headers, $matches);
          if(!isset($matches[1]))
              return false;
          $nextloc = $matches[1];
          return remote_file_exists($nextloc);
      }
  }
  preg_match('/HTTP.*(\d\d\d.*)\r/i', $headers, $matches);
  return '3 Status Code not supported'.
      (isset($matches[1])?": $matches[1]":'');
}
?>

<?
if(remote_file_exists($url)) { // $url ku fx være http://google.com
print "";
} else {
mysql_query("DELETE FROM links WHERE id='$row[id]'");
}
}
?>

? :)
Avatar billede expnet Seniormester
19. juli 2004 - 21:02 #5
jeg få denne fejl:

Fatal error: Cannot redeclare remote_file_exists() (previously declared in /customers/httpd.www/tjek_link.php:35) in /customers/httpd.www/tjek_link.php on line 35
Avatar billede jammerlab Nybegynder
19. juli 2004 - 21:31 #6
Har du andet i file?? for linje 35 hos mig er

      fputs($fp, "Connection: close\r\n\r\n");

og den er der ikke noget galt med :)
Avatar billede expnet Seniormester
19. juli 2004 - 21:37 #7
$sqltabel = array(er udfyldt);
$a = 0;
$b = 20;

while($a < $b){

include 'dbconn.php';

echo "<table width='700' cellpadding='0' cellspacing='0' class='title_links_tjek'>";

echo "<tr><td bgcolor='#98C1D1' width='525'>Link</td><td bgcolor='#98C1D1' width='175'>Navn</td><td bgcolor='#98C1D1'>#</td></tr>\n";

echo "<tr><td width='600' class='' bgcolor='#98C1D1' colspan='3'>$sqltabel[$a]</td></tr>\n";

$linkSQL = mysql_query("select * from $sqltabel[$a] ORDER BY dato DESC LIMIT 0,30") or die(mysql_error());
while($linkurl = mysql_fetch_array($linkSQL)){


function remote_file_exists($url)
{
  $head = '';
  $url_p = parse_url ($url);

  if (isset ($url_p['host']))
  { $host = $url_p['host']; }
  else
  {
      return '1 Invalid URL host';
  }

  if (isset ($url_p['path']))
  { $path = $url_p['path']; }
  else
  { $path = ''; }

  $fp = fsockopen ($host, 80, $errno, $errstr, 20);
  if (!$fp)
  {
      return '2 Unable to connect to remote host';
  }
  else
  {
      $parse = parse_url($url);
      $host = $parse['host'];

      fputs($fp, 'HEAD '.$url." HTTP/1.1\r\n");
      fputs($fp, 'HOST: '.$host."\r\n");
      fputs($fp, "Connection: close\r\n\r\n");
      $headers = '';
      while (!feof ($fp))
      { $headers .= fgets ($fp, 128); }
  }
  fclose ($fp);
 
  // for debug
  //echo nl2br($headers);
 
  $arr_headers = explode("\n", $headers);
  if (isset ($arr_headers[0]))    {
      if(strpos ($arr_headers[0], '200') !== false)
      { return true; }
      if( (strpos ($arr_headers[0], '404') !== false) ||
          (strpos ($arr_headers[0], '410') !== false))
      { return false; }
      if( (strpos ($arr_headers[0], '301') !== false) ||
          (strpos ($arr_headers[0], '302') !== false))
      {
          preg_match("/Location:\s*(.+)\r/i", $headers, $matches);
          if(!isset($matches[1]))
              return false;
          $nextloc = $matches[1];
          return remote_file_exists($nextloc);
      }
  }
  preg_match('/HTTP.*(\d\d\d.*)\r/i', $headers, $matches);
  return '3 Status Code not supported'.
      (isset($matches[1])?": $matches[1]":'');
}

if(remote_file_exists($linkurl[link])) {
  echo "<tr><td width='525'><a target='_blank' href='$linkurl[link]'>$linkurl[link]</a></td><td width='175'>$linkurl[navn]</td><td><img src='ikoner/down.gif'></td></tr>\n";
} else {
  echo "<tr><td width='525'><a target='_blank' href='$linkurl[link]'>$linkurl[link]</a></td><td width='175'>$linkurl[navn]</td><td><img src='ikoner/up.gif'></td></tr>\n";
}
}
$a = $a +1;
echo "</table><br>";
}
?>
Avatar billede jammerlab Nybegynder
19. juli 2004 - 21:38 #8
Du må da også havde noget mere i toppen... php koden skal da også startes med <? ;) så hvad er din linje nummer 35? :P
Avatar billede expnet Seniormester
19. juli 2004 - 21:41 #9
function remote_file_exists($url)
Avatar billede jammerlab Nybegynder
19. juli 2004 - 21:42 #10
<?php

$query = mysql_query("SELECT * FROM links")or die (mysql_error());
while($row = mysql_fetch_array($query)) {

function remote_file_exists($url)
{
  $head = '';
  $url_p = parse_url ($url);

  if (isset ($url_p['host']))
  { $host = $url_p['host']; }
  else
  {
      return '1 Invalid URL host';
  }

  if (isset ($url_p['path']))
  { $path = $url_p['path']; }
  else
  { $path = ''; }

  $fp = fsockopen ($host, 80, $errno, $errstr, 20);
  if (!$fp)
  {
      return '2 Unable to connect to remote host';
  }
  else
  {
      $parse = parse_url($url);
      $host = $parse['host'];

      fputs($fp, 'HEAD '.$url." HTTP/1.1\r\n");
      fputs($fp, 'HOST: '.$host."\r\n");
      fputs($fp, "Connection: close\r\n\r\n");
      $headers = '';
      while (!feof ($fp))
      { $headers .= fgets ($fp, 128); }
  }
  fclose ($fp);
 
  // for debug
  //echo nl2br($headers);
 
  $arr_headers = explode("\n", $headers);
  if (isset ($arr_headers[0]))    {
      if(strpos ($arr_headers[0], '200') !== false)
      { return true; }
      if( (strpos ($arr_headers[0], '404') !== false) ||
          (strpos ($arr_headers[0], '410') !== false))
      { return false; }
      if( (strpos ($arr_headers[0], '301') !== false) ||
          (strpos ($arr_headers[0], '302') !== false))
      {
          preg_match("/Location:\s*(.+)\r/i", $headers, $matches);
          if(!isset($matches[1]))
              return false;
          $nextloc = $matches[1];
          return remote_file_exists($nextloc);
      }
  }
  preg_match('/HTTP.*(\d\d\d.*)\r/i', $headers, $matches);
  return '3 Status Code not supported'.
      (isset($matches[1])?": $matches[1]":'');
}
}
?>

<?
if(remote_file_exists($url)) { // $url ku fx være http://google.com
print "";
} else {
mysql_query("DELETE FROM links WHERE id='$row[id]'");
}

?>

sådan så?
Avatar billede expnet Seniormester
19. juli 2004 - 21:53 #11
samme fejl:


<?php
include 'dbconn.php';
$query = mysql_query("SELECT * FROM Underholdning")or die (mysql_error());
while($row = mysql_fetch_array($query)) {

function remote_file_exists($url)
{
  $head = '';
  $url_p = parse_url ($url);

  if (isset ($url_p['host']))
  { $host = $url_p['host']; }
  else
  {
      return '1 Invalid URL host';
  }

  if (isset ($url_p['path']))
  { $path = $url_p['path']; }
  else
  { $path = ''; }

  $fp = fsockopen ($host, 80, $errno, $errstr, 20);
  if (!$fp)
  {
      return '2 Unable to connect to remote host';
  }
  else
  {
      $parse = parse_url($url);
      $host = $parse['host'];

      fputs($fp, 'HEAD '.$url." HTTP/1.1\r\n");
      fputs($fp, 'HOST: '.$host."\r\n");
      fputs($fp, "Connection: close\r\n\r\n");
      $headers = '';
      while (!feof ($fp))
      { $headers .= fgets ($fp, 128); }
  }
  fclose ($fp);
 
  // for debug
  //echo nl2br($headers);
 
  $arr_headers = explode("\n", $headers);
  if (isset ($arr_headers[0]))    {
      if(strpos ($arr_headers[0], '200') !== false)
      { return true; }
      if( (strpos ($arr_headers[0], '404') !== false) ||
          (strpos ($arr_headers[0], '410') !== false))
      { return false; }
      if( (strpos ($arr_headers[0], '301') !== false) ||
          (strpos ($arr_headers[0], '302') !== false))
      {
          preg_match("/Location:\s*(.+)\r/i", $headers, $matches);
          if(!isset($matches[1]))
              return false;
          $nextloc = $matches[1];
          return remote_file_exists($nextloc);
      }
  }
  preg_match('/HTTP.*(\d\d\d.*)\r/i', $headers, $matches);
  return '3 Status Code not supported'.
      (isset($matches[1])?": $matches[1]":'');
}
}
?>

<?
if(remote_file_exists($row[link])) { // $url ku fx være http://google.com
print "virker <br> $row[link]";
} else {
print "virker ikke $row[link]<br>";
}

?>
Avatar billede jammerlab Nybegynder
19. juli 2004 - 21:58 #12
hmm den kan jeg ikke lige fikse så... jeg tror det er fordi han laver det som funktioner og dem har jeg aldrig brugt så jeg ved ikke hvordan de skal håndteres...
Avatar billede expnet Seniormester
21. juli 2004 - 16:51 #13
razmuz_dk -> kan du ikke hjælpe mig med at få den til at køre på mysql
Avatar billede expnet Seniormester
14. september 2004 - 01:59 #14
lukker bruger er ikke til stede
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester