Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ошибка FTP-manager от Softtime
 
 автор: aexb   (16.12.2008 в 14:04)   письмо автору
 
 

Вопрос - пытаюсь поюзать FTP-менеджер, доступный для скачивания тут: http://www.softtime.ru/info/ftpmanager.php

Содержимое просматривается, но возникает следующая ошибка при попытке загрузки файла:

Подождите...
Warning: set_time_limit() has been disabled for security reasons in /home/[someuser]/[somename]/www/ftpmanager/config.php on line 17

Warning: ftp_nb_put(C:\\Users\\Public\\Pictures\\Sample Pictures\\Desert Landscape.jpg) [function.ftp-nb-put]: failed to open stream: No such file or directory in /home/[someuser]/[somename]/www/ftpmanager/upload.php on line 40

Во время загрузки файла произошла ошибка...


На сколько я понимаю, ошибка в пути к файлу, так как там везде стоят два слэша. Может быть, надо как-то сервер сконфигурировать по-особому? Машина, с которой пытаюсь подгрузить файл, работает под Vista Ent 32

То же самое происходит, если в любой форме пытаться загрузить файл через <input type="file" name="filename">. В обработчике $_POST['filename'] тоже появляется с двумя слэшами везде. Пробовал explode/implode строку, чтобы слэши поубирать, но они всякий раз снова добавляются, сволочи :(

UPD: Попробовал stripslashes - та же фигня :( Или как-то неправильно попробовал.

  Ответить  
 
 автор: BinLaden   (16.12.2008 в 16:25)   письмо автору
 
   для: aexb   (16.12.2008 в 14:04)
 

> Или как-то неправильно попробовал

Скорее всего. Как выглядит Ваш код?

  Ответить  
 
 автор: aexb   (16.12.2008 в 17:51)   письмо автору
 
   для: BinLaden   (16.12.2008 в 16:25)
 

Дык код-то не мой, ссылка на исходник в топовом посте. На всякий случай, вот:
<?php
///////////////////////////////////////////////////
// FTP-manager
// 2004 (C) IT-студия SoftTime (http://www.softtime.ru)
// Симдянов И.В. (simdyanov@softtime.ru)
// Голышев С.В. (softtime@softtime.ru)
///////////////////////////////////////////////////
?>
Подождите...
<?php
  
// Устанавливаем соединение с FTP-сервером
  
require_once("config.php");
  
// Получаем значения переменных переданных
  // методом POST из HTML-формы uploadform.php
  
$dir $_POST['dir'];
  
$name $_POST['name'];
  
// Преобразуем права доступа пользователя
  // в числовую форму
  
$user 0;
  if(
$_POST['ur'] == 'on'$user += 4;
  if(
$_POST['uw'] == 'on'$user += 2;
  if(
$_POST['ux'] == 'on'$user += 1;
  
// Преобразуем права доступа для группы
  // в числовую форму
  
$group 0;
  if(
$_POST['gr'] == 'on'$group += 4;
  if(
$_POST['gw'] == 'on'$group += 2;
  if(
$_POST['gx'] == 'on'$group += 1;
  
// Права доступа по умолчанию для
  // остальных пользователей (не входящих в группу)
  
$other 0;
  if(
$_POST['or'] == 'on'$other += 4;
  if(
$_POST['ow'] == 'on'$other += 2;
  if(
$_POST['ox'] == 'on'$other += 1;
  
// Проверяем введено ли имя для файла
  
if(empty($name)) puterror("Недопустимое имя файла");
  
$direct str_replace('%''/'$dir);
  
// Начинаем загрузку
  
$path "$direct/".substr($namestrrpos($name"\\") + 1);
//  $name = stripslashes($name);
  
$ret ftp_nb_put($link$path$nameFTP_BINARY);
  while (
$ret == FTP_MOREDATA)
  {
    
// Выводим точки что-бы пользователь
    // знал что процесс идёт
    
echo ".";
    
// Продолжаем загрузку
    
$ret ftp_nb_continue($link);
  }
  if (
$ret != FTP_FINISHED)
  {
    echo 
"<br>Во время загрузки файла произошла ошибка...";
    exit();
  }
  else
  {
    
// Создаём восьмеричную переменную $mode
    // с правами доступа к директории
     
eval("\$mode=0$user$group$other;");    
    
// Изменяем права доступа для только что
    // созданной директории
    
if(ftp_chmod($link$mode$path))
    {
      
// Осуществляем автоматический переход
      // в текущий каталог
      
echo "<HTML><HEAD>
            <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php?dir=
$dir'>
            </HEAD></HTML>"
;
    } else 
puterror("Невозможно установить права доступа к файлу");
  }
?>


Перед отправкой строки я ставлю $name = stripslashes( $name ), при этом удаляется ненужный слэш, но скрипт все равно выдает вот такую ошибку:

Подождите...
Warning: set_time_limit() has been disabled for security reasons in /home/[someuser]/[somename]/www/ftpmanager/config.php on line 22

Warning: ftp_nb_put(C:\UpdatePatch.log) [function.ftp-nb-put]: failed to open stream: No such file or directory in /home/[someuser]/[somename]/www/ftpmanager/upload.php on line 41

Во время загрузки файла произошла ошибка...


Хостером запрещено использовать set_time_limit. Может, из-за этого?

  Ответить  
 
 автор: BinLaden   (16.12.2008 в 18:53)   письмо автору
 
   для: aexb   (16.12.2008 в 17:51)
 

Что-то я вообще не понял что это в скрипте написано.

uploadform.php:
<?php
  
if($action == "upload.php")
  {
?>
<tr><td><p class=zag2>Файл:</p></td><td><input type=file name=name value='<?php echo $name?>'></td></tr>
<?php
  
}
  else
  {
?>


В upload.php:
<?php
# ...
$name $_POST['name'];
# ...
?>


?!

А на сервере, где выполняется скрипт, действительно существует файл "C:\UpdatePatch.log"?

> Хостером запрещено использовать set_time_limit. Может, из-за этого?
Да, первый Warning по этой причине.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования