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

Форум PHP

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

 

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

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

тема: ftp_chmod() проблемы, Не могу разобраться в чем дело
 
 автор: Make.kz   (30.08.2010 в 18:45)   письмо автору
 
 

есть код

if(file_exists($folder_name) && is_dir($folder_name)) {
$dirHandle = opendir($folder_name);
while (false !== ($file = readdir($dirHandle))) {
if ($file!='.' && $file!='..') {
$tmpPath=$folder_name.'/'.$file;

eval(ftp_chmod($conn_id,0777, $tmpPath));
if (is_dir($tmpPath)) {
RemoveDir($tmpPath);

}
else
{
if(file_exists($tmpPath)){
unlink($tmpPath);
}
}
}
} closedir($dirHandle);
if(file_exists($folder_name)) {
rmdir($folder_name); }
}
else
{ echo "Удаляемой папки $folder_name не существует или это файл!"; }}

Когда скрипт пытается изменить права доступа по ФТП на все файлы указанной папки, выходит ошибка

ftp_chmod() [function.ftp-chmod]: 16.jpg: No such file or directory in drop_album.php on line 98

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

Warning: unlink(16.jpg) [function.unlink]: Permission denied in drop_album.php on line 106

помогите пожалуста. в чем дело?

  Ответить  
 
 автор: nikita2206   (30.08.2010 в 18:53)   письмо автору
 
   для: Make.kz   (30.08.2010 в 18:45)
 

Ну во первых, какого хрена там eval делает. А во вторых, хоть покажи весь код, где объявляется $conn_id. Да и вообще, тут какая-то мешанина из кода, взаимодействующего с файловой системы сервера, на котором исполняется скрипт, и вдруг, из ниоткуда, появляется ftp_chmod.
И да, на этом форуме есть тег code для кода, перед кодом нужно ставить <?php

  Ответить  
 
 автор: Make.kz   (30.08.2010 в 19:19)   письмо автору
 
   для: nikita2206   (30.08.2010 в 18:53)
 

Да, прошу прощения за столь дилетантский код.

<?php
if (isset($_POST['folder_name'])) {$folder_name=$_POST['folder_name'];}
if ($folder_name==''){unset($folder_name);}

function RemoveDir($folder_name){
$ftp_server = "server";
$ftp_user_name = "user";
$ftp_user_pass = "pathword";

// set up basic connection
$conn_id = ftp_connect($ftp_server);
// login with username and password

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

if(file_exists($folder_name) && is_dir($folder_name)) {
$dirHandle = opendir($folder_name);
while (false !== ($file = readdir($dirHandle))) {
if ($file!='.' && $file!='..') {
$tmpPath=$folder_name.'/'.$file;

eval(ftp_chmod($conn_id,0777, $tmpPath));
if (is_dir($tmpPath)) {
RemoveDir($tmpPath);

}
else
{
if(file_exists($tmpPath)){
unlink($tmpPath);
}
}
}
} closedir($dirHandle);
if(file_exists($folder_name)) {
rmdir($folder_name); }
}
else
{ echo "Удаляемой папки $folder_name не существует или это файл!"; }}
?>

  Ответить  
 
 автор: Make.kz   (30.08.2010 в 19:26)   письмо автору
 
   для: nikita2206   (30.08.2010 в 18:53)
 

eval() насколько я понял правильно возвращает восьмиричный код :)

  Ответить  
 
 автор: nikita2206   (30.08.2010 в 19:29)   письмо автору
 
   для: Make.kz   (30.08.2010 в 19:26)
 

нет

  Ответить  
 
 автор: Make.kz   (30.08.2010 в 20:37)   письмо автору
 
   для: nikita2206   (30.08.2010 в 19:29)
 

Ладно eval() я убрал. но проблема осталась!!! Что делать?

  Ответить  
 
 автор: psychomc   (30.08.2010 в 20:42)   письмо автору
 
   для: Make.kz   (30.08.2010 в 19:26)
 

8-/

  Ответить  
 
 автор: Make.kz   (30.08.2010 в 21:05)   письмо автору
 
   для: psychomc   (30.08.2010 в 20:42)
 

Может здесь есть люди, которые серьезней отнесутся к проблеме?

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

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