[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не работает функция
revaninfo
Всем привет. Я уже второй день парюсь над одной функцией. Не понимаю почему но:

$connect = ftp_connect($myserver) or die("Error: FTP Server \"{$myserver}\" not found!"); - здесь переменной $myserver будто не существует несмотря на то что перед этой строкой и после нее echo $myserver - отображается нормально

PHP
function file_delete($id) {
  
$files mysql_query("SELECT * FROM `filist` WHERE id = '{$id}'");
  
$filess mysql_fetch_array($files);

  
$servs explode("|"$filess['serverid']); // Получим массив $servs[0] = 1;

  
$test=count($servs);
  for(
$i=0;$i<$test;$i++) {
    
$servs[$i] = (int)$servs[$i];
    
$ser mysql_query("SELECT * FROM servers WHERE id = {$servs[$i]}");
    
$servers mysql_fetch_array($ser); // Мы выбрали сервер, все работает отлично. Проверял echo $myserver['ftp']; вывод работает а то что дальше нет.

    
$myserver $servers['ftp'];
    echo 
$myserver;
    
$connect ftp_connect($myserver) or die("Error: FTP Server \"{$myserver}\" not found!"); // именно здесь не идет соединение с сервером, срабатывает ошибка причем на месте \"{$myserver}\" пусто, хоят так быть не должно

    
$result ftp_login($connect$servers['login'], $servers['password']);
    
ftp_chdir($connect$servers['dirupload'].$filess['key']."/");
    
ftp_delete($connect,$filess['name']);
  }

  
mysql_query("DELETE FROM `filist` WHERE id = '{$id}'");

}


Заранее спасибо за помощь!



Спустя 1 час, 44 минуты, 37 секунд (5.09.2009 - 17:09) Nikitian написал(а):
Коммент странный:
PHP
$servers = mysql_fetch_array($ser); // Мы выбрали сервер, все работает отлично. Проверял echo $myserver['ftp']; вывод работает а то что дальше нет.

В этой строчке $maserver ещё не определена, а после она определяется как $servers['ftp'], т.е. $myserver['ftp'] - это элемент 'ftp' от строки, выбранной из базы - бред какой-то.
Перед ftp_connect(.... у вас разве echo ничего не выводит? Если так, то смотрите что запрашиваете у базу.
Оп-па, сейчас посмотрел на запрос: что за фигурные скобочки? У меня например мускуль 5.0.51a-24+lenny1 ругается на такой синтаксис так:
SQL
SELECT * FROM `test` WHERE field1={111}
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '111} LIMIT 0, 30' at line 1

Спустя 12 минут, 31 секунда (5.09.2009 - 17:22) revaninfo написал(а):
Не спорю что коммент странный так как я его написал для разяснения )

PHP
$myserver $servers['ftp'];
    echo 
$myserver;
    
$connect ftp_connect($myserver) or die("Error: FTP Server \"{$myserver}\" not found!");


Здесь я не понял ничего! Как она не определена если я присвоил значение $servers['ftp'] переменной $myserver, и причем там вообще $myserver['ftp']. Если бы там и был какой-то баг, то не сработал бы даже echo. А он работает, причем как до коннекта так и после него! Присвоил к $myserver я для своих целей.

Цитата

Перед ftp_connect(.... у вас разве echo ничего не выводит? Если так, то смотрите что запрашиваете у базу. Оп-па, сейчас посмотрел на запрос: что за фигурные скобочки? У меня например мускуль 5.0.51a-24+lenny1 ругается на такой синтаксис так:


Вы издеваетесь с меня??? Сначала выучите основы а потом уже оставляйте свои советы. Конечно оно ругается на такой синтаксис если вы пишите в скобках три еденицы ))))) Вы вообще знаете для чего они предназначены? Это практически аналог ".$servs[$i]." В скобки можно помещать только переменные а не всякий бред! mad.gif

Спустя 19 минут, 57 секунд (5.09.2009 - 17:42) revaninfo написал(а):
Никто не знает? Ппц просто!

Спустя 47 минут, 53 секунды (5.09.2009 - 18:30) glock18 написал(а):
revaninfo, спокойней будь.

1. может останавливать фаервол.
2. убедитесь, что ftp зарегистрирован в dns или в хостах.

3. читайте мануал. ваши проблемы здесь волнуют мало, особенно, когда вы таким вот явным образом демонстрируете неуважение к другим, не потрудившись даже разобраться в проблема как следует.

Спустя 33 минуты, 33 секунды (5.09.2009 - 19:03) revaninfo написал(а):
Цитата

revaninfo, спокойней будь.

1. может останавливать фаервол.
2. убедитесь, что ftp зарегистрирован в dns или в хостах.

3. читайте мануал. ваши проблемы здесь волнуют мало, особенно, когда вы таким вот явным образом демонстрируете неуважение к другим, не потрудившись даже разобраться в проблема как следует.


Извените но видимо я немного не правильно выразился. Переменная $myserver - пустая именно в месте ftp_connect(Пусто); и die(Пусто); а должна подставлятся переменная. хотя ее видно при выводе echo "";

Когда я подставляю в ftp_connect выбраный хост вручную, соединение проходит прекрасно, а когда переменная, он не понятно куда пропадает...... Будто испаряется.

Никто не знает? Ппц просто! - Если вы приняли это за оскорбление то уж извените ))))

Спустя 14 минут, 24 секунды (5.09.2009 - 19:18) glock18 написал(а):
Цитата
Переменная $myserver - пустая именно в месте ftp_connect(Пусто); и die(Пусто); а должна подставлятся переменная. хотя ее видно при выводе echo "";


чудеса, да и только. вы хотите сказать, что переменная имеет на одной строке одно значение, а на следующей другое. при этом никакого воздействия на значение этой переменной, как видим - нет.

проблема проще, чем вы пытаетесь представить.
Для начала исследуйте, почему может быть такое странное поведение. Наверняка, вы не первый кто этим задался. И важно - вы не первый, кто решил спросить об этом других.

А пока ответьте на мои вопросы:
1. Есть ли фаервол?
2. Прописан ли хост с фтп?

Цитата
Никто не знает? Ппц просто! - Если вы приняли это за оскорбление то уж извените ))))

разве я что-то говорил об оскорблениях?

Спустя 22 минуты, 17 секунд (5.09.2009 - 19:40) revaninfo написал(а):
Вот и я думаю что чудеса!

Фаервол у меня есть, но я его выключал! Дело в том что аплоад работает отлично, так что номер 2 здесь ни причем, теперь все? )

Вы тоже не думайте что я ламер какой-то, я все проверил, и ненашел ни одного обьясняющего фактора. Я работаю с php не один год неужели вы думаете что я не разобрался прописан ли хост.

Вот в том то и вся проблема что фаервол и хосты ни причем так как аплоад работает, а он взаимодействует с тем же фтп сервером!

Я не знаю в чем проблема, но процетирую опять же:
Цитата

Когда я подставляю в ftp_connect выбраный хост вручную, соединение проходит прекрасно


Причем здесь фаервол и вопрос по прописанию хоста?

Спустя 10 минут, 45 секунд (5.09.2009 - 19:51) twin написал(а):
В ручную, это так:
PHP
$myserver 'адрес'//$servers['ftp'];
?
Мож буковка русская затесалась куда? Вообще я проверил, у меня работает...

Спустя 13 минут, 11 секунд (5.09.2009 - 20:04) revaninfo написал(а):
Почти: $connect = ftp_connect("Хост") or die ...

Врядли буква русская:

PHP
$connect ftp_connect($myserver) or die("Error: FTP Server \"{$myserver}\" not found!");


Вот здесь я вижу такое сообщение: Error: FTP Server "" not found!
В скобках в любом случае должен быть выведено значение из переменной $myserver

Если я пишу echo $myserver то работает, я вообще не понимаю как такое быть... Мистика какая-то )

Спустя 5 минут, 50 секунд (5.09.2009 - 20:10) twin написал(а):
PHP
<?php
    $myserver 
'ftp';
    
$connect ftp_connect($myserver) or die("Error: FTP Server \"{$myserver}\" not found!");
выдало
Код
Error: FTP Server "ftp" not found!
Наверно правда полтергейст)))

Спустя 6 минут, 25 секунд (5.09.2009 - 20:16) revaninfo написал(а):
Хм... Блин да не может же такого быть ))))) Присвоил ftp переменной $myserver все равно пусто...

Кто-то явно заколдовал мой код )

Спустя 1 минута, 59 секунд (5.09.2009 - 20:18) revaninfo написал(а):
Блин да что за... Теперь уже нормально die(); ошибку выводит... Не пойму ничего...

Спустя 1 минута, 52 секунды (5.09.2009 - 20:20) revaninfo написал(а):
Теперь еще интереснее, когда я пишу такой код:

PHP
$connect ftp_connect($servers['ftp']) or die("Error: FTP Server \"{$servers['ftp']}\" not found!");


В скобках пусто, а когда

PHP
$connect ftp_connect(Здесь любое другое значение) or die("Error: FTP Server \"{$servers['ftp']}\" not found!");


То выводит в скобках адрес фтп...

Спустя 11 минут, 28 секунд (5.09.2009 - 20:31) FatCat написал(а):
Цитата (revaninfo @ 5.09.2009 - 21:18)
Блин да что за... Теперь уже нормально die(); ошибку выводит... Не пойму ничего...

Кеширование в браузере прибейте.

Спустя 3 минуты, 34 секунды (5.09.2009 - 20:35) revaninfo написал(а):
В последнем посте понятно что кэширование не имеет отношения к этому. Почему то $servers['ftp'] не хочет работать в ftp_connect да еще и куда-то девается потом так как не выводится уже в die если $servers['ftp'] нет в ftp_connect то die выводит все таки ошибку...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.