Всем привет, ребята подскажите пожалуйста, уже час мучаюсь, что то не могу вдуплить. Проблема (или задача) такая, есть форма добавления новостей, фото к новости можно добавить с локального компа, а я хочу добавить возможность добавлять ещё и с урл. создал фому Код (PHP): <div class="form alt"> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td class="label"><label for="image">С компа: <font color="red">*</font> <font color="grey">( <i>250x200px</i> )</font></label></td> </tr> <tr> <td><input type="file" size="80" id="image" name="image" value="' . $_POST['image'] . '"></td> </tr> <tr> <td class="label"><label for="image">Урл: <font color="red">*</font> <font color="grey">( <i>250x200px</i> )</font></label></td> </tr> <tr> <td><input type="text" size="80" id="image" name="url" value="' . $_POST['url'] . '"></td> </tr> </table> </div> вот php код Код (PHP): if ($_POST[submit]) { $_POST = safe_data ($_POST, 'query'); if(isset($_POST['confirm']) && isset($_SESSION['confirm'])) { if(strtolower($_POST['confirm'])!=$_SESSION['confirm']) { $error = "<div align=center>\n"; $error .= "<b>Ошибка: Введенный код не совпадает с кодом на изображении!</b><br>Введите код, изображенный на картинке и повторите попытку...\n"; $error .= "</div>\n"; } } else { $error = "<div align=center>\n"; $error .= "<b>Ошибка: Введенный код не совпадает с кодом на изображении!</b><br>Введите код, изображенный на картинке и повторите попытку...\n"; $error .= "</div>\n"; } $ref = mysql_query('SELECT * FROM '.$DBPrefix.'news WHERE link=\'' . $_POST['link'] . '\' AND title=\'' . $_POST['title'] . '\' LIMIT 1'); if (mysql_num_rows($ref)!=0) { $error .= '<div align=center>Такая новость уже есть, попробуйте изменить <b>заголовок</b>.</div>'; } if (!($_POST[id_category])) { $error .= 'Пожалуйста выберите <b>категорию</b>.<br/>'; } if ($submit || isset($_POST['text'])) { $_POST['text'] = (isset($_POST['text'])) ? trim($_POST['text']) : ''; if (!empty($_POST['text'])) { $html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#', '#"#'); $html_entities_replace = array('&', '<', '>', '"'); $_POST['text'] = str_replace("\r", '', trim($_POST['text'])); $_POST['text'] = preg_replace("#\n{3,}#", "\n\n", $_POST['text']); // $_POST['text'] = preg_replace($html_entities_match, $html_entities_replace, $_POST['text']); // $_POST['text'] = nl2br($_POST['text']); if (!($error)) { if (!(mysql_query ("INSERT INTO ".$DBPrefix."news VALUES('0', '0', '" . $_POST['id_category'] . "', '" . $_POST['id_source'] . "', '" . $_POST['id_region'] . "', '" . $_POST['date'] . "', '" . $_POST['title'] . "', '" . $_POST['text'] . "', '" . $_POST['link'] . "', '0', '0', '0', '" . $_POST['seo_title'] . "', '".$_SESSION['user_id']."')"))) { exit (mysql_error ()); } $listid = mysql_insert_id (); $image = $_FILES['image']['name']; $image2 = $_FILES['image']['tmp_name']; if (preg_match('/\S+\.(gif|jpg|jpeg|bmp|png)/siU', $image, $out)) { $id_news = 21; $fl_ext = $out[1]; $photo = $listid.".".$fl_ext; $filename_full = "images/news/".$photo; $f = $image2; $to = $filename_full; require("parser/resize.php"); mysql_query("UPDATE ".$DBPrefix."news SET image='".$photo."' WHERE id='".$listid."' LIMIT 1"); header ('location:news_prev.php?id=' . $listid . '&add=true'); die(); } else { mysqlquery("DELETE FROM ".$DBPrefix."news WHERE id = ".$listid.";"); $error .= 'Ошибка при загрузке файла <b>'.$image.'</b>.<br/>'; } } } } else { $_POST = safe_data ($_POST, 'display'); } } не могу отправить по урл, с локального нормально всё передаётся. Подскажите пожалуйста как быть? в принципе условие то должно быть Код (PHP): if ((isset($_FILES["image"])) or (isset($_POST['url'])) ){ if(!$_POST['url']) { ..... } else { ...... } но не срабатывает, что то я туплю. Спасибо
Код (PHP): $source = "http://example.com/dir/picture.jpeg"; // удаленный url $dest = "upload/picture.jpeg"; // локально сохраняем в if (copy($source, $dest)) echo "Всё ок"; else echo "Копирование не удалось";
спасибо, та я принцип понимаю, не могу его прикрутить к своему коду просто, не лезет в голову сейчас ни чего, проверку сейчас делаю, смотрю, что не так
да, совсем забыл добавить, картинки загружаются через ресайз + каждой картинки даётся название - это id новости + расшерение ($listid = mysql_insert_id (); ) в самом коде выше видно, так то залить картинку через форму то можно, а вот в моём случаи чуть сложнее, по этому и забуксовал немного. может есть у кого идеи, поделитесь пожалуйста