Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Подскажите, как сделать

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Anvi
Отправлено: 05 Ноября, 2008 - 22:58:06
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Нояб. 2008  


Помог: 0 раз(а)




У меня есть ПХП файлик. Он от скрипта загрузок.
Проблема в нем в том, что он выводит не оригинальные названия файлов, а указаные в коде этого файла. Вот код файла:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?
  3. include_once('charset_inc.php');
  4. include_once('img_resize_inc.php');
  5.  
  6. define('MODE_DIR',0);
  7. define('MODE_PHOTO',1);
  8. define('MODE_ANIMATION',2);
  9. define('MODE_VIDEO',3);
  10. define('MODE_SOUND',4);
  11. define('MODE_JAVA',5);
  12. define('MODE_SYMBIAN',6);
  13. define('MODE_MOPHUN',7);
  14. define('MODE_THEME',8);
  15. define('MODE_OTHER',100);
  16.  
  17. $root='root';
  18. $limit=10;
  19.  
  20. $mode=MODE_DIR;
  21.  
  22. $ignore_names=array('.','..','c.txt','index.txt','.htaccess','ext','~tmp');
  23.  
  24. function getfs($fn)
  25. {
  26.         $fs=round(filesize($fn)/1024,2);
  27.         if($fs>999)$fs=round($fs/1024,2).' Мб';
  28.         else $fs.=' Кб';
  29.         return $fs;
  30. }
  31.  
  32. function cmp($a, $b)
  33. {
  34.         global $isdir;
  35.         if($isdir[$a] && !$isdir[$b])return -1;
  36.         if($isdir[$b] && !$isdir[$a])return 1;
  37.  
  38.     if ($a == $b) {
  39.         return 0;
  40.     }
  41.     return ($a < $b) ? -1 : 1;
  42. }
  43.  
  44. function srem($s,$n=2)
  45. {
  46.  $a=explode('/',$s);
  47.  $s='';
  48.  for($i=0;$i<count($a)-$n;$i++)$s.=$a[$i].'/';
  49.  return $s;
  50. }
  51.  
  52. function sget($s,$n=2)
  53. {
  54.  $a=explode('/',$s);
  55.  return $a[count($a)-$n];
  56. }
  57.  
  58. function fgetnm($fn)
  59. {
  60.  $op=ord(" ");
  61.  
  62.  $s='';
  63.  if(file_exists($fn))
  64.  {
  65.   $f=fopen($fn,'r');
  66.   if($f)
  67.   {
  68.    while (false !== ($c = fgetc($f)))
  69.    {
  70.         if(ord($c)>=$op)$s.=$c;
  71.         else break;
  72.    }
  73.    fclose($f);
  74.   }
  75.  }
  76.  return $s;
  77. }
  78.  
  79. function getnm($f)
  80. {
  81.         global $g_photo_n,$g_animation_n,$g_video_n,$g_sound_n,$g_java_n,$g_symbian_n,$g_mophun_n,$g_theme_n;
  82.         global $g_photo_content,$g_animation_content,$g_video_content,$g_sound_content,$g_java_content,$g_symbian_content,$g_mophun_content,$g_theme_content;
  83.         $a=explode('.',$f);
  84.  
  85.         if(in_array($a[1],$g_photo_content))$nm='НАЗВАНИЕ КАРТИНКИ '.$g_photo_n++;
  86.         elseif(in_array($a[1],$g_animation_content))$nm='НАЗВАНИЕ АНИМАЦИИ '.$g_animation_n++;
  87.         elseif(in_array($a[1],$g_video_content))$nm='НАЗВАНИЕ ВИДЕО '.$g_video_n++;
  88.         elseif(in_array($a[1],$g_sound_content))$nm='НАЗВАНИЕ МУЗЫКИ '.$g_sound_n++;
  89.         elseif(in_array($a[1],$g_java_content))$nm='НАЗВАНИЕ ЯВЫ '.$g_java_n++;
  90.         elseif(in_array($a[1],$g_symbian_content))$nm='НАЗВАНИЕ СИМБФАЙЛОВ '.$g_symbian_n++;
  91.         elseif(in_array($a[1],$g_mophun_content))$nm='НАЗВАНИЕ МОФАН '.$g_mophun_n++;
  92.         elseif(in_array($a[1],$g_theme_content))$nm='НАЗВАНИЕ ТЕМЫ '.$g_theme_n++;
  93.         else $nm=$f;
  94.  
  95.         return $nm;
  96.  }
  97.  
  98. function p_dl_link($url,$fn,$name,$s=false)
  99. {
  100.         if($s!==false)$url.='&s='.(int)$s;
  101.         $fn=str_replace('/ext/','/',$fn);
  102.         p_link('dl.php?f='.$url,$name);
  103. }
  104.  
  105. $fil='';
  106. $dir=trim($_GET['f']);
  107.  
  108. $page=sget($dir);
  109. $page=explode(',',$page);
  110. $page=(int)$page[1];
  111.  
  112. $dir=preg_replace('/\.\.+/','.',$dir);
  113.  
  114. $dir2=$dir;
  115.  
  116. $fil=sget($dir,1);
  117. $dir=preg_replace('/,(\d+)/','',srem($dir,1)).$fil;
  118.  
  119. $f2=explode('.',$dir);
  120. $ext=strtolower($f2[count($f2)-1]);
  121.  
  122. if(!is_dir($root.'/'.$dir))
  123. {
  124.         if(in_array($ext,$g_photo_content))$mode=MODE_PHOTO;
  125.         elseif(in_array($ext,$g_animation_content))$mode=MODE_ANIMATION;
  126.         elseif(in_array($ext,$g_video_content))$mode=MODE_VIDEO;
  127.         elseif(in_array($ext,$g_sound_content))$mode=MODE_SOUND;
  128.         elseif(in_array($ext,$g_java_content))$mode=MODE_JAVA;
  129.         elseif(in_array($ext,$g_symbian_content))$mode=MODE_SYMBIAN;
  130.         elseif(in_array($ext,$g_mophun_content))$mode=MODE_MOPHUN;
  131.         elseif(in_array($ext,$g_theme_content))$mode=MODE_THEME;
  132.         else $mode=MODE_OTHER;
  133.  
  134.         if($mode!=MODE_DIR)
  135.         {
  136.                 $dir=str_replace($fil,'',$dir);
  137.                 $dir2=str_replace($fil,'',$dir2);
  138.                 $limit=1;
  139.         }
  140. }
  141.  
  142. $inda=array();
  143. $isdir=array();
  144. $inda['.']=sget($dir);
  145. $indn=$root.'/'.$dir.'index.txt';
  146. if(file_exists($indn))
  147. {
  148.         $indf=file($indn);
  149.         foreach($indf as $inds)
  150.         {
  151.                 $inds=explode("=",$inds);
  152.                 $indc=count($inds);
  153.  
  154.                 $indstr='';
  155.                 for($i=0;$i<$indc-1;$i++)
  156.                 {
  157.                         $indstr.=$inds[$i];
  158.                         if($i<$indc-2)$indstr.='=';
  159.                 }
  160.  
  161.                 $inds[0]=trim($indstr);
  162.                 $inds[1]=trim($inds[$indc-1]);
  163.                 if($inds[0] && $inds[1])$inda[$inds[0]]=str_replace('&','&',win2utf($inds[1]));
  164.         }
  165. }
  166. if($inda['.'])$main_title=$inda['.'];
  167. $count=count($inda)-1;
  168.  
  169. $path=$root.'/'.$dir;
  170.  
  171. $files=array();
  172.  
  173. $g_photo_n=1;
  174. $g_animation_n=1;
  175. $g_video_n=1;
  176. $g_sound_n=1;
  177. $g_java_n=1;
  178. $g_symbian_n=1;
  179. $g_mophun_n=1;
  180. $g_theme_n=1;
  181.  
  182. if(file_exists($path) && is_dir($path))
  183. {
  184.         if($h=opendir($path))
  185.         {
  186.                 while(($f = readdir($h))!==false)
  187.                 {
  188.                         if(!in_array($f,$ignore_names))
  189.                         {
  190.                                 if(!$inda[$f])
  191.                                 {
  192.                                         $files[]=$f;
  193.                                         $count++;
  194.                                 }
  195.                 }
  196.                 if(is_dir($path.$f))$isdir[$f]=1;
  197.         }
  198.         }
  199.         closedir($h);
  200. }
  201.  
  202. usort($files,"cmp");
  203.  
  204. foreach($inda as $f=>$n)
  205. {
  206.         if($n=='.')$inda[$f]=getnm($f);
  207. }
  208.  
  209. foreach($files as $f)
  210. {
  211.  $inda[$f]=getnm($f);
  212.  $n++;
  213. }
  214.  
  215. $lm=ceil($count/$limit);
  216. if($lm>0)$lm--;
  217.  
  218. if($page>$lm)$page=$lm;
  219.  
  220. $pos=$page*$limit;
  221.  
  222. $up=array();
  223.  
  224. $dir3=$root.'/'.$dir2;
  225. do
  226. {
  227.  $dir4=preg_replace('/,(\d+)/','',$dir3);
  228.  $vn=$dir4.'index.txt';
  229.  $vf=fgetnm($vn);
  230.  $vs=explode("=",$vf);
  231.  if($vs[0]=='.')$u=win2utf(trim($vs[1]));
  232.  else $u='';
  233.  $f=$dir4;
  234.  
  235.  if(!$u)$u=sget($f);
  236.  
  237.  $up[$f]['n']=$u;
  238.  $up[$f]['u']=str_replace($root.'/','',$dir3);
  239.  $dir3=srem($dir3);
  240. }
  241. while($dir3);
  242. $up=array_reverse($up);
  243.  
  244. p_header('Загрузки');
  245.  
  246. p_div_open('left','tit');
  247. $c=count($up);
  248. $i=0;
  249. foreach($up as $f=>$n)
  250. {
  251.  $i++;
  252.  if($i<$c || $mode!=MODE_DIR)
  253.  {
  254.         p_link('index.php?f='.$n['u'],$n['n']);
  255.         echo '/';
  256.  }
  257.  else echo $n['n'];
  258. }
  259.  
  260. if($mode!=MODE_DIR)
  261. {
  262.         $keys=array_keys($inda);
  263.         $arr=array();
  264.  
  265.         $i=0;
  266.         $ci=-1;
  267.  
  268.         $pf='';
  269.         $nf='';
  270.  
  271.         foreach($keys as $key)
  272.         {
  273.                 if(!$isdir[$key])
  274.                 {
  275.                         $arr[]=$key;
  276.                         if($key==$fil)$ci=$i;
  277.                         $i++;
  278.                 }
  279.         }
  280.  
  281.         $c=count($arr);
  282.  
  283.         if($ci>=0)
  284.         {
  285.                 if($ci>0)$pf=$arr[$ci-1];
  286.                 if($ci<$c-1)$nf=$arr[$ci+1];
  287.         }
  288.  
  289.         echo ($ci+1),' из ',$c;
  290. }
  291.  
  292. p_div_close();
  293.  
  294. p_div_open('left','box');
  295. if($dir)
  296. {
  297.         echo '<img src="img/up'.$g_scheme.'.gif" alt="^"/>';
  298.         if($mode==MODE_DIR)p_link('index.php?f='.srem($dir2),'[Вверх]');
  299.         else p_link('index.php?f='.$dir2,'[Вверх]');
  300.         echo '<br/>';
  301. }
  302.  
  303. if($mode==MODE_DIR)
  304. {
  305.         include_once('arh_dir_inc.php');
  306. }
  307. elseif($mode==MODE_PHOTO)
  308. {
  309.         include_once('arh_photo_inc.php');
  310. }
  311. elseif($mode==MODE_ANIMATION)
  312. {
  313.         include_once('arh_animation_inc.php');
  314. }
  315. elseif($mode==MODE_VIDEO)
  316. {
  317.         include_once('arh_video_inc.php');
  318. }
  319. elseif($mode==MODE_SOUND)
  320. {
  321.         include_once('arh_sound_inc.php');
  322. }
  323. elseif($mode==MODE_JAVA)
  324. {
  325.         include_once('arh_java_inc.php');
  326. }
  327. elseif($mode==MODE_SYMBIAN)
  328. {
  329.         include_once('arh_symbian_inc.php');
  330. }
  331. elseif($mode==MODE_MOPHUN)
  332. {
  333.         include_once('arh_mophun_inc.php');
  334. }
  335. elseif($mode==MODE_THEME)
  336. {
  337.         include_once('arh_theme_inc.php');
  338. }
  339.  
  340. p_div_close();
  341.  
  342. if($mode==MODE_DIR && $lm>0)
  343. {
  344.         p_div_open('left','box');
  345.  
  346.         $s=sget($dir2);
  347.         $s2=explode(',',$s);
  348.         $s=str_replace($s.'/','',$dir2);
  349.         $s.=$s2[0];
  350.  
  351.         echo 'Стр. ';
  352.  
  353.         if($page<$lm-1)$i0=$page-2;
  354.         else
  355.         {
  356.          if($page==$lm)$i0=$page-4;
  357.          else $i0=$page-3;
  358.         }
  359.  
  360.         if($i0<0)$i0=0;
  361.  
  362.         if($i0<1)$lm2=4;
  363.         else $lm2=2+$page;
  364.  
  365.         if($lm2>$lm)$lm2=$lm;
  366.  
  367.         if($page>2 && $lm>4)
  368.         {
  369.          p_link('index.php?f='.$s.'/',1);
  370.          if($page>3)echo ' ... ';
  371.          else echo ' ';
  372.         }
  373.  
  374.         for($i=$i0;$i<=$lm2;$i++)
  375.         {
  376.          if($i==$page)echo '<b>'.($i+1).'</b> ';
  377.          else
  378.          {
  379.                 if($i)p_link('index.php?f='.$s.','.$i.'/',($i+1));
  380.                 else p_link('index.php?f='.$s.'/',($i+1));
  381.          }
  382.          echo ' ';
  383.         }
  384.  
  385.         if($page<$lm-2 && $lm>$lm2)
  386.         {
  387.          if($page<$lm-3)echo '... ';
  388.          else echo ' ';
  389.          p_link('index.php?f='.$s.','.$lm.'/',($lm+1));
  390.         }
  391.  
  392.         p_div_close();
  393. }
  394. else
  395. {
  396.         if($pf || $nf)
  397.         {
  398.                 p_div_open('left','box');
  399.                 if($pf)
  400.                 {
  401.                         p_link('index.php?f='.$dir2.$pf,'<<Пред.');
  402.                         if($nf)echo ' ';
  403.                 }
  404.                 if($nf)
  405.                 {
  406.                         p_link('index.php?f='.$dir2.$nf,'След.>>');
  407.                 }
  408.                 p_div_close();
  409.         }
  410. }
  411.  
  412. p_div_open('left','ver');
  413. if($_GET['f'])
  414. {
  415.  echo '<img src="img/root.gif" alt="«"/>';
  416.  p_link('index.php?f=','К разделам');
  417.  echo '<br/>';
  418. }
  419. else
  420. {
  421.  if($g_show_wapmaster)
  422.  {
  423.   echo '<img src="img/wm.gif" alt="*"/>';
  424.   p_link('wm.php','WAP-мастеру');
  425.   echo '<br/>';
  426.  }
  427. }
  428. if($g_url)
  429. {
  430.  echo '<img src="img/home.gif" alt="«"/>';
  431.  p_link('http://'.$g_url,'На главную');
  432.  echo '<br/>';
  433. }
  434. p_ver();
  435. p_div_close();
  436. p_div_open('center');
  437. p_div_close();
  438.  
  439. $ban='<a href="http://wap-top.ru/top/?uid=1914"><img src="http://wap-top.ru/top/count.php?uid=1914" alt="WAP-TOP"/></a>';
  440. unset($ban);
  441. p_footer($ban);
  442. ?>
  443.  


Помогите переделать так, что б он выводил оригинальные названия (а не те, которые в скрипте), тоесть те, которые имеют файли в папке.
 
 Top
vitaliy_mad
Отправлено: 06 Ноября, 2008 - 00:35:47
Post Id


Участник


Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008  
Откуда: Украина, Мариуполь


Помог: 0 раз(а)




напиши что тебе надо сделать... в этом количестве кода вряд ли кто нибудь будет разбираться/ковыряться.... напиши что надо и тебе помогут...
 
 Top
Champion Супермодератор
Отправлено: 06 Ноября, 2008 - 08:54:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Anvi, Сформулируйте задачу. Что есть и что надо. Выкладывать громадные скрипты сюда не надо, никто их разбирать не будет. Если можете, выделите в скрипте тот участок кода, который вызывает проблему.

Я вообще так понял, что вам нужны имена файлов в каталоге. Смотрите функцию scandir() и что с ней связано
 
 Top
Anvi
Отправлено: 08 Ноября, 2008 - 14:03:27
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Нояб. 2008  


Помог: 0 раз(а)




CODE (text):
скопировать код в буфер обмена
  1. if(in_array($a[1],$g_photo_content))$nm='НАЗВАНИЕ КАРТИНКИ '.$g_photo_n++;
  2. elseif(in_array($a[1],$g_animation_content))$nm='НАЗВАНИЕ АНИМАЦИИ '.$g_animation_n++;
  3. elseif(in_array($a[1],$g_video_content))$nm='НАЗВАНИЕ ВИДЕО '.$g_video_n++;
  4. elseif(in_array($a[1],$g_sound_content))$nm='НАЗВАНИЕ МУЗЫКИ '.$g_sound_n++;
  5. elseif(in_array($a[1],$g_java_content))$nm='НАЗВАНИЕ ЯВЫ '.$g_java_n++;
  6. elseif(in_array($a[1],$g_symbian_content))$nm='НАЗВАНИЕ СИМБФАЙЛОВ '.$g_symbian_n++;
  7. elseif(in_array($a[1],$g_mophun_content))$nm='НАЗВАНИЕ МОФАН '.$g_mophun_n++;
  8. elseif(in_array($a[1],$g_theme_content))$nm='НАЗВАНИЕ ТЕМЫ '.$g_theme_n++;
  9. else $nm=$f;
  10.  
  11. return $nm;


Вот сдесь, нужно, что б вместо названий "НАЗВАНИЕ КАРТИНКИ", "НАЗВАНИЕ АНИМАЦИИ" и т.д. выводились оригинальные названия файлов в папке.
 
 Top
valenok
Отправлено: 08 Ноября, 2008 - 14:53:31
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




поменяйте последнюю строчку на return $f;


-----
Truly yours, Sasha.
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB