Jump to content

php скрипт загрузки файла на хостинг


Recommended Posts

Добрый день. В интернете нашел скрипт загрузки файла с сайта в папку хостинга. Если отдельно ее запускать /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 код прописать для этого случая? Заранее спасибо

Link to post
Share on other sites

предполагаю что
upload.php - является и формой и принимающим скриптом, т.к. вы данный скрипт подгружаете на страницу через скрипт, а потом отправляете файл на ту же самую страницу на которой уже нет данного скрипта, то файл ни как не обрабатывается
попробуйте скрипт не подгружать через js а показывать, пусть он всегда будет на данной странице, но просто скрытым

Link to post
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Member Statistics

    47,229
    Total Members
    1,451
    Most Online
    spertosik
    Newest Member
    spertosik
    Joined
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...