PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (2): [1] 2 »
Найдено сообщений: 17
tundramani
Отправлено: 08 Декабря, 2019 - 18:16:00 • Тема: Как сделать копию папки со всем ее содержимым? • Форум: Вопросы новичков
Ответов: 0 Просмотров: 317
Вот вариант решения задачи:
PHP:
скопировать код в буфер обмена
function copy_folder( $d1 , $d2 , $upd = true , $force = true ) {
$d2 = mkdir_safe( $d2 , $force ) ;
if ( ! $d2 ) { fs_log( "!!fail $d2 " ) ; return ; }
while ( false !== ( $entry = $d -> read ( ) ) ) {
if ( $entry != '.' && $entry != '..' )
copy_folder( "$d1 /$entry " , "$d2 /$entry " , $upd , $force ) ;
}
$d -> close ( ) ;
}
else {
$ok = copy_safe( $d1 , $d2 , $upd ) ;
$ok = ( $ok ) ? "ok-- " : " -- " ;
fs_log( "{$ok} $d1 " ) ;
}
} //function copy_folder
function mkdir_safe( $dir , $force ) {
if ( is_dir ( $dir ) ) return $dir ; else if ( ! $force ) return false ;
}
return ( mkdir ( $dir , 0777
, true ) ) ?
$dir : false ; } //function mkdir_safe
function copy_safe ( $f1 , $f2 , $upd ) {
if ( $time2 >= $time1 && $upd ) return false ;
}
if ( $ok ) touch ( $f2 , $time1 ) ; return $ok ;
} //function copy_safe
function fs_log( $str ) {
$log = fopen ( "./fs_log.txt" , "a" ) ; $time = date ( "Y-m-d H:i:s" ) ; fwrite ( $log , "$str ($time )\n " ) ; }
Что скажите?
И в коде не понятно где имя исходника и копии: $d1, $d2 - уточните пожалуйста.
tundramani
Отправлено: 05 Ноября, 2018 - 17:41:21 • Тема: Как изменить кодировку строки на PHP? • Форум: Вопросы новичков
Ответов: 2 Просмотров: 328
php 5.3.5
Сервер получает строку в таком виде:
Цитата: Àðòèêóë;Íàèìåíîâàíèå;"Öåíà, ðóá.";Ññûëêà;Èçîáðàæåíèå;Îïèñàíèå;ÐÀÇÌÅÐ;ÖÂÅÒ;ÑÎÑÒÀÂ;"Íàçâàíèå ðàçäåëà";Áðåíä;Ïîë;Ðàçìåð;Ñåçîí;"Ñòðàíà ïðîèçâîäèòåëü";"Âûñîòà êàáëóêà";"Âûñîòà ãîëåíèùà";"Îáõâàò ãîëåíèùà";"Êîììåíòàðèé ê òîâàðàì";"Ðàçìåð íà ìîäåëè";"Ðîñò ìîäåëè"
Декодер Лебедева успешно расшифровывает и говорит:
CP1252 -> CP1251
на сервере такой код:
но он создает пустой файл
поправьте пожалуйста
или такой еще вариант не работает:
код без конвертации работает:
tundramani
Отправлено: 05 Ноября, 2018 - 13:38:10 • Тема: Как на сервере восстановить и сохранить base64-файл? • Форум: Вопросы новичков
Ответов: 1 Просмотров: 229
PHP 5.3.5
Из инпута получаю текстовый файл.
Через FileReader получаю этот файл в виде base64.
Отправляю это на сервер чтобы на нем сохранить этот файл.
Хочу обойтись без использования форм.
Как из исходного файла на клиенте получить base64 и воссоздать этот файл на сервере?
CODE (
javascript ):
скопировать код в буфер обмена
var x = JSON.stringify ( [ text] )
var запрос = new XMLHttpRequest( )
запрос.open ( 'POST' , '1.php' )
запрос.send ( x)
но в итоге кодировка убивается
как сделать правильно?
tundramani
Отправлено: 01 Ноября, 2018 - 18:09:25 • Тема: Как сканировать файлы и папки • Форум: Вопросы новичков
Ответов: 23 Просмотров: 1115
Строитель пишет: tundramani пишет: надо урезать этот код так чтобы получить только имена папок в папке Документы
А структура json при этом какой должна принять вид?
просто список имен только папок в указанной папке:
[
"имя",
"имя",
"имя"
]
может быть переименовать тему - чтобы еще кому пригодилось
назвать так:
"как сканировать файлы и папки"
tundramani
Отправлено: 01 Ноября, 2018 - 17:04:14 • Тема: Как сканировать файлы и папки • Форум: Вопросы новичков
Ответов: 23 Просмотров: 1115
Спасибо, Строитель !
беру этот код в свое дело
однако не понимаю как он работает - магия
не понимаю как в обьекте образуются пары ключ:значение
но я foreach еще не пользовался и в js - покумекаю..
еще последняя просьба в этой теме:
надо урезать этот код так чтобы получить только имена папок в папке Документы
tundramani
Отправлено: 01 Ноября, 2018 - 15:52:12 • Тема: Как сканировать файлы и папки • Форум: Вопросы новичков
Ответов: 23 Просмотров: 1115
Строитель пишет: tundramani , ну тогда вооружайтесь терпением и вперёд исправлять ошибки )
попробую обновить MAMP - ваш кот ведь без ошибок уверен ))
(Добавление)
Строитель спасибо!
я нашел ошибку и всё заработало
php 5.3.5 - только это встало на мой старенький мак
и еще просьба:
надо в этом коде добавить обрезку расширения
tundramani
Отправлено: 01 Ноября, 2018 - 15:10:15 • Тема: Как сканировать файлы и папки • Форум: Вопросы новичков
Ответов: 23 Просмотров: 1115
у меня PHP 5.2.1 - может быть поэтому не работает?
исправил на $object = array();
Спойлер (Отобразить )
CODE (
htmlphp ):
скопировать код в буфер обмена
<? php
$dir = '/documents' ;
$temp = $dir . DIRECTORY_SEPARATOR . $item ;
if ( $item != '.' && $item != '..' && is_dir ( $temp ) ) { foreach ( scandir ( $temp ) as $elem ) { if ( $elem != '.' && $elem != '..' && strstr ( $elem , '.' ) == '.html' ) { $object [ $item ] = $elem ;
}
}
}
}
?>
опять:
PHP Warning: Invalid argument supplied for foreach() in /Applications/MAMP/htdocs/сканир овать_документы.php on line 5
tundramani
Отправлено: 01 Ноября, 2018 - 14:51:06 • Тема: Как сканировать файлы и папки • Форум: Вопросы новичков
Ответов: 23 Просмотров: 1115
я посмотрет волшебные константы - но непонял
вообще php для меня слишком сложен и запутан
в js я не испытываю никаких проблем
а если просто так сделать:
(Добавление)
код выдает ошибку:
PHP Parse error: syntax error, unexpected '[' in /Applications/MAMP/htdocs/сканир овать_документы.php on line 3
tundramani
Отправлено: 01 Ноября, 2018 - 14:17:32 • Тема: Как сканировать файлы и папки • Форум: Вопросы новичков
Ответов: 23 Просмотров: 1115
в папке documents находятся однотипные папки
названия этих папок это id документов
внутри них есть однотипные данные: файлы и папки - один из которых это сам документ *.html
таким образом мои документы имеют уникальный id (имя папки)
и переменчивое имя единственного html-файла внутри папки документа
все что мне нужно в этой функции - получить все id и имена документов
tundramani
Отправлено: 01 Ноября, 2018 - 12:53:10 • Тема: Как сканировать файлы и папки • Форум: Вопросы новичков
Ответов: 23 Просмотров: 1115
Строитель , прошу вас немного модифицировать ваш код
тз изменилось:
Цитата: у меня есть одна папка /documents
в ней только папки - каждый документ это папка с данными: файлы и папки
нужно в каждой найти в корне имя единственного html-файла - поиск по расширению .html - других html-файлов нет
json такой:
CODE (
htmlphp ):
скопировать код в буфер обмена
{
'имя_папки_докумета' : 'имя_файла' ,
'имя_папки_докумета' : 'имя_файла' ,
'имя_папки_докумета' : 'имя_файла' ,
...
}
Страниц (2): [1] 2 »
Powered by ExBB FM 1.0 RC1. InvisionExBB