Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Сеть > переименовать файл на сервере


Автор: mstdmstd 23.2.2014, 11:20
Всем привет,
Не могу переименовать файл на сервере,
Делаю :

Код

        echo '<pre> $ ::'.print_r( $_SERVER, true ).'</pre><br>';  //  DOCUMENT_ROOT = Выводит /home/mjtrends/public_html
        $config_uploads_products_dir= 'uploads/products/product-' . $id; // искомая поддериктория

        $DocumentRoot= $_SERVER['DOCUMENT_ROOT'];
        $full_directory_path= $DocumentRoot . DIRECTORY_SEPARATOR . $config_uploads_products_dir. DIRECTORY_SEPARATOR;
        echo '<pre> $full_directory_path ::'.print_r( $full_directory_path, true ).'</pre><br>'; // выводит /home/mjtrends/public_html/uploads/products/product-215/

   echo '<pre> ::: ::'.print_r( $full_directory_path . urldecode($original_filename) . '.' . $config_images_ext, true ).'</pre><br>'; // выводит /home/mjtrends/public_html/uploads/products/product-215/black-vinyl-fabric-jeans.jpg

        if ( file_exists($full_directory_path . urldecode($original_filename) . '.' . $config_images_ext) ) { // НЕ находит исходного файла
            echo '<pre> FILE EXISTS</pre><br>'; // ЭТА СТРОКА  НЕ ВЫВОДИТСЯ 
        }

        $Res= rename( $full_directory_path . urldecode($original_filename) . '.' . $config_images_ext,
            $full_directory_path . urldecode($new_path_value) . '.' . $config_images_ext );  // И ошибка No such file or directory


И вроде все пути указал правильно. Доступ к каталогу uploads 755 к каталогам и файлам.
В чем может быть проблема ?

Автор: bars80080 28.2.2014, 13:46
Цитата(mstdmstd @  23.2.2014,  11:20 Найти цитируемый пост)
В чем может быть проблема ? 

No such file or directory

нет ничего сложного, чтобы записать получаемый путь в переменную и посмотреть её значение:
Код

$str = $full_directory_path . urldecode($original_filename) . '.' . $config_images_ext;
var_dump($str);


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

Автор: _zorn_ 4.3.2014, 09:12
Глупый вопрос - а файл /home/mjtrends/public_html/uploads/products/product-215/black-vinyl-fabric-jeans.jpg существует ?
Код
print_r(glob('/home/mjtrends/public_html/uploads/products/product-215/*.jpg'));

Цитата(bars80080 @  28.2.2014,  21:46 Найти цитируемый пост)
а вот зачем вы шаритесь в системных каталогах

Это когда /home стал системным каталогом ? Учитывая что скрипт лежит в /home/mjtrends/public_html вообще не понимаю вашего вопроса.
Ну и вангую, что сервер на убунте smile

Автор: marioadm 6.5.2014, 01:39
Цитата(_zorn_ @  4.3.2014,  09:12 Найти цитируемый пост)
/home стал системным каталогом


Это новость , надо зафиксировать.
Переименуй файл, папку, через панель хостинга, файловый менеджер, крайний случай бери в руки фтп если такой имеется. smile 
ну насчет системного каталога улыбнул  smile  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)