Задать вопрос
@kiril9011

Почему не работает copy?

Есть код:
<?php
require 'connect.php';
$sql_select = "SELECT * FROM users WHERE DATEDIFF(blok, NOW()) = 3";
$result = mysql_query($sql_select);
if (!$result) {
return;
}
while ($row = mysql_fetch_assoc($result)) {

mail($row['email'], 'Внимание!!', 'Скоро ваш аккаунт будет заблокирован!', $from);
$file = 'vost.php';
$newfile = "../landing/{$row['login']}/vost.php";

if (!copy($file, $newfile))	;


}


он извещает клиента по почте о том что 3 дня до блокировки аккаунта, извещение ок работает, а вот функция copy, т.е. вторая часть кода, копирование не работает, почему?
  • Вопрос задан
  • 1449 просмотров
Подписаться 1 Простой 5 комментариев
Пригласить эксперта
Ответы на вопрос 3
kotomyava
@kotomyava
Системный администратор
В вашем условии:
if (!copy($file, $newfile)) ;
Получите сообщение об ошибке, с помощью php.net/manual/ru/function.error-get-last.php и куда-нибудь выведите или залогируйте её. И станет понятно, что именно не так.
Ответ написан
Комментировать
AnnaVel
@AnnaVel
Функция copy() не копирует файлы в несуществующие каталоги.
Перед копированием файла в каталог, нужно проверить существует ли каталог с названием $row['login'] и если такого каталога еще нет, то создать его php.net/manual/ru/function.mkdir.php
А уже после этого использовать copy()
Ответ написан
Комментировать
@KievRestaurants
Мне помогло использование вместо copy() функции rename(), кто бы мог подумать.. )
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы