В обменнике для Джона (не родном) есть функция импорта файлов, по URL. Я не кодер, но даже я понимаю, что файлы функцией
copy не импортируют. А вот как написать правильно - незнаю
Помогите вобщем
function url_file_exists($furl) {
$headers = @get_headers($furl);
if (preg_match('|200|', $headers[0]))
{
return true;
} else {
return false;
}
}
$dir = 'img/';
if (isset($_POST['url'])) {
if (url_file_exists($_POST['url'])) {
$newfile = basename(rtrim($_POST
['url'], '/'));
$size = getimagesize($_POST['url']);
if ($size['mime']=='image/jpeg') {
$uploadfil = new SplFileObject($_POST
['url'], 'rb');
$file = new SplFileObject($dir .
DIRECTORY_SEPARATOR . $newfile, 'w');
$file->setFlags
(SplFileObject::SKIP_EMPTY);
if ($file->flock(LOCK_EX)) {
$file->ftruncate(0);
while (!$uploadfil->eof()) {
$file->fwrite($uploadfil->fgets());
}
}
$file->flock(LOCK_UN);
if (file_exists($dir .
DIRECTORY_SEPARATOR . $newfile) &&
filesize($dir . DIRECTORY_SEPARATOR .
$newfile)<=1024*1024) {
echo '<div>Фаил был успешно
загружен на сервер</div>';
} else {
if (file_exists($dir .
DIRECTORY_SEPARATOR . $newfile)) {
unlink(file_exists($dir .
DIRECTORY_SEPARATOR . $newfile));
}
echo '<div>Не удалось скачать файл,
ссылка должна указывать прямой путь
до файла</div>';
}
} else {
echo '<div>Файл по ссылке
отсутствует</div>';
}
} else {
echo '<div>Доступны только файлы
*.jpg к загрузке!</div>';
}
} else {
echo '<div>*.jpg [ <=1024 kib. ]</
div>';
echo '<div><form action="" method="post">';
echo '<input name="url" type="text" /
><br/>';
echo '<input type="submit"
value="Загрузить" />';
echo '</form></div>';
}
echo '<div><a href="">Назад</a></div>';
тут под картинки, перепилить не сложно
Koenig, спасиб, можешь файл скинуть?
Koenig, Надо чтоб файл ещё в БД заносился наверно... Ато толку так не будет. Это будет тоже самое что через ФТП(например -
http://wapftp.ru/ ) импортировать.
да я свои кусок кинул, тот архив не смотрел, я еще даже архиватор не поставил, просто импорт поменять, думаю огромных знаний не нужно, если не найдется доброволец, напишу с компа
Koenig, буду очень благодарен
не проверял, если что завтра поправлю
Koenig, все работает вроде
Спасибо огромное!