Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2009, 12:17   #1
bush007
Форумчанин
 
Аватар для bush007
 
Регистрация: 10.02.2009
Сообщений: 226
По умолчанию правильный путь к картинке в скрипте

День добрый всем!
Нарыл такой вот код для пинга узлов:
Код:
<?php
/*
Vz Ping 0.2 by Luca Penzo March 2003
email <fedro@linux.it>
web http://vz.webhop.net/

USE of the script :
Simply include this script in another PHP page (or an html with SSI enabled)
I wrote this script to know what machines are connected in my LAN simply opening a web page
To use it your PHP must be able to execute shell scripts
If it doesn't work , try writing the complete absolute path to your ping program
Maybe you have to modify the script according to your ping software
The ip address must be pingable !!! Otherway you'll not have any ON or OFF option

GPL License
*/

////////// CONFIGURATION /////////////////
$ips_array=array("PC_1_NAME:192.168.x.x","PC_2_NAME:192.168.x.x","PC_3_NAME:192.168.x.x"); // you have to write here a descriptive name for every PC to be monitored and its IP address --> name:ipaddress
////////// END OF CONFIGURATION //////////
function ping($PC,$ip){
$cmd=shell_exec("ping -c 1 -w 1 $ip");

  $dati_mount=explode(",",$cmd);
  if (eregi ("0", $dati_mount[1], $out)) {$connesso="<img src=\"on.gif\">";}
  if (eregi ("1", $dati_mount[1], $out)) {$connesso="<img src=\"off.gif\">";}
  $esito="$connesso [$ip] <b>$PC</b><br>";
return $esito;
}

while(list($k,$v)=each($ips_array)){
 $dati_ip=explode(":",$v);
 $esito=ping($dati_ip[0],$dati_ip[1]);
 echo $esito;
}
?>
явно указано, что пути к картинкам вероятно придется указать свои, только что то не выходит каменный код
просьба знатокам посмотреть.
рисунки лежат в C:\WebServers\home\proba\www\ping . Подскажите, какой точно необходимо указать путь для рисунков on.gif и off.gif ??
следи за собой. Будь осторожен.
Не забывай свой первый "hello world".
bush007 вне форума Ответить с цитированием
Старый 09.11.2009, 12:20   #2
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

/ping/on.gif
/ping/off.gif
свободен...
wall66 вне форума Ответить с цитированием
Старый 09.11.2009, 12:21   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

а положить рисунки в каталог со скриптом и поубирать слэши?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 09.11.2009, 16:13   #4
bush007
Форумчанин
 
Аватар для bush007
 
Регистрация: 10.02.2009
Сообщений: 226
По умолчанию

там же и лежат, слэши убирал-- ругается именно на эти строки
следи за собой. Будь осторожен.
Не забывай свой первый "hello world".
bush007 вне форума Ответить с цитированием
Старый 09.11.2009, 18:13   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Слеши убирать не стоило, они к путям ни какого отношения не имеют.
Arigato вне форума Ответить с цитированием
Старый 09.11.2009, 19:29   #6
bush007
Форумчанин
 
Аватар для bush007
 
Регистрация: 10.02.2009
Сообщений: 226
По умолчанию

ок, возможно следующий вариант будет лучше:

ping.php:

Код:
<?    
$ip=$_GET['ip'];  
if (!preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/',$ip)) {echo "Sorry, wrong request"; exit;} 
$down='down.gif';  
$up='up.gif';    
exec("ping -n 1 -w 200 $ip",$output, $status);  
header('Content-type: image/gif');  
// под *nix заменить -n 1 на -c 1    
if ($status==0)    
readfile($up);    
else    
readfile($down);    
?>
index.html:

Код:
<html>

<head>
  <title></title>
</head>

<body>
 <tr>
       <td><img src='ping.php?ip=217.69.128.41'>маил.ру</p></td>
       <td><img src='ping.php?ip=74.125.53.100'>гугл</p></td>
       <td><img src='ping.php?ip=77.88.21.11'>яндех</p></td>
              <td><img src='ping.php?ip=195.189.143.147'>opera.com</p></td>
       <td></td>
</tr>
</body>

</
картинки в архиве --
Вложения
Тип файла: rar www.rar (14.7 Кб, 10 просмотров)
следи за собой. Будь осторожен.
Не забывай свой первый "hello world".
bush007 вне форума Ответить с цитированием
Старый 07.12.2009, 15:13   #7
nikromant
Новичок
Джуниор
 
Регистрация: 07.12.2009
Сообщений: 2
По умолчанию

Привет народ!
Извиняюсь если не в тему.
У меня вопрос.
Допустим у меня лежит картинка по адресу: www/image/img.jpg
Как мне вытащить эту картинку если мой txt.html находится по паралельному пути допустим: www/blabla/txt.html
Я знаю, что можно задать полный путь так: http://www/image/img.jpg
Но мне важно знать есть ли другой способ.
nikromant вне форума Ответить с цитированием
Старый 07.12.2009, 15:39   #8
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

переход на директорию выше - ..
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 07.12.2009, 16:10   #9
nikromant
Новичок
Джуниор
 
Регистрация: 07.12.2009
Сообщений: 2
По умолчанию

Спасибо!
Правда соображал с минутку.
Ответ был бы полнее так:
<img src="../../www/image/img.jpg">
nikromant вне форума Ответить с цитированием
Старый 10.12.2009, 08:55   #10
bush007
Форумчанин
 
Аватар для bush007
 
Регистрация: 10.02.2009
Сообщений: 226
По умолчанию

изыскания на тему проверки доступности ип привели к следующему коду:
Код:
//-------------------------------------------------------------------
<?php

function ping($host)

{
exec("ping -n 1 -w 1 $host", $input, $result);
if ($result == 0){
echo "<img src=\"on.gif\">";
}else{
echo "<img src=\"off.gif\">";
}
}

$hosts_to_ping = array(
			'192.168.1.7',
		        '192.168.1.8',
			'192.168.1.20',
			'192.168.1.203',
			'192.168.1.205',
			'192.168.1.245',
			'yandex.ru');
?>
<ul>
<?php foreach ($hosts_to_ping as $host): ?>
  <li>
    <?php echo $host; ?> 
    <?php $up = ping($host);?>
  </li>
<?php endforeach;?>
</ul>
мож кому пригодится
следи за собой. Будь осторожен.
Не забывай свой первый "hello world".
bush007 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++: правильный импорт dll apromix Помощь студентам 1 04.10.2009 02:28
Не правильный ввод в ячейки mephist Microsoft Office Excel 5 27.05.2009 10:47
Подскажите правильный RewriteRule (.htaccess) Dj_smart PHP 10 11.01.2009 23:43
Подскажите правильный запрос c группировкой frostyland Microsoft Office Access 2 03.09.2008 10:22
Копирование строк. Правильный ли код? LinuxUser Общие вопросы C/C++ 12 06.11.2007 17:33