zhdanovsv 0 Posted February 17, 2020 Report Share Posted February 17, 2020 Добрый день. В интернете нашел скрипт загрузки файла с сайта в папку хостинга. Если отдельно ее запускать /public_html/upload.php то все работает - сначала показывает форму где выбираем файл, жмем на кнопку Загрузить - выходит отдельная страница о статусе загрузки..все норм. Но мне нужно этот test.php вывести в содержимое страницы сайта content.php. В index.php подключаю content.php и sidebar.php через include, настраиваю в sidebar.php ссылку 1 <div id="upload"><a href="upload.php" target="_blank" onclick="ajax();return false">Форма загрузки</a></div> , в index.php дописываю обработку нажатия на пункт меню: 1 2 3 4 5 6 7 8 9 $( "#upload" ).click(function(e) { e.preventDefault(); $.ajax({ url: 'upload.php', success: function(data) { $('#content').html(data); } }); }); - при клике страница upload.php грузится, выбираю файл, жму на кнопку - происходит обновление страницы и все, указанная папка на хостинге пустая. Содержимое upload.php: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 <? $path = realpath(getcwd() . '/../files/input/'); if(!file_exists($path)) die("<b>Пожалуйста, создайте папку <font color=red>".$path."</font> и <a href=?>повторите попытку загрузить файл</a>.</b>"); if(empty($_FILES['UserFile']['tmp_name'])) echo"<form method=post enctype=multipart/form-data> Выберите файл: <input type=file name=UserFile> <input type=submit value=Отправить> </form>"; elseif(!is_uploaded_file($_FILES['UserFile']['tmp_name'])) die("<b><font color=red>Файл не был загружен! Попробуйте <a href=?>повторить попытку</a>!</font></b>"); else{ if(@!copy($_FILES['UserFile']['tmp_name'],$path.chr(47).$_FILES['UserFile']['name'])) die("<b><font color=red>Файл не был загружен! Попробуйте <a href=?>повторить попытку</a>!</font></b>"); else echo "<center><b>Файл \"<font color=red>".$_FILES['UserFile']['name']."\"</font> успешно загружён на сервер!</font></b></center>"."<hr>". "Тип файла: <b>".$_FILES['UserFile']['type']."</b>". "Размер файла: <b>".round($_FILES['UserFile']['size']/1024,2)." кб.</b>". "<hr><center><a href=?>Загрузить ещё один файл!</a></center>"; } ?> 1 2 <div id="content"> </div> Подскажите почему так происходит? Что в коде нужно поправить для адекватной его работы? Что нужно добавить чтобы статус сообщения об успешной/неуспешной загрузки выходили в этом же content.php без перезагрузки страницы? - какой ajax код прописать для этого случая? Заранее спасибо Quote Link to post Share on other sites
Switch74 373 Posted February 19, 2020 Report Share Posted February 19, 2020 предполагаю что upload.php - является и формой и принимающим скриптом, т.к. вы данный скрипт подгружаете на страницу через скрипт, а потом отправляете файл на ту же самую страницу на которой уже нет данного скрипта, то файл ни как не обрабатывается попробуйте скрипт не подгружать через js а показывать, пусть он всегда будет на данной странице, но просто скрытым Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.