Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1.0 feedback.tpl добавил:
- <tr>
- <td class="label" valign="top">
- Файл:
- </td>
- <td><input type="file" maxlength="45" name="file" class="f_input" /></td>
- </tr>
- 2.0 в engine/ajax создал файл upload_screen.php с содержимым:
- <?php
- @error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE );
- @ini_set ( 'display_errors', true );
- @ini_set ( 'html_errors', false );
- @ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE );
- define( 'DATALIFEENGINE', true );
- define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
- define( 'ENGINE_DIR', ROOT_DIR . '/engine' );
- include ENGINE_DIR . '/data/config.php';
- $title = isset($_REQUEST['title']) ? $_REQUEST['title'] : 'none';
- foreach( $_FILES as $file ) {
- $file_ext = @end(explode('.', $file['name']));
- if( in_array($file_ext, array('jpg', 'jpeg', 'gif', 'png')) ) {
- if( move_uploaded_file( $file['tmp_name'], ROOT_DIR . '/uploads/' . $file['name'] ) )
- $files[] = realpath( ROOT_DIR . '/uploads/' . $file['name'] );
- else
- $error = true;
- } else
- $error = true;
- }
- $data = $error ? array('error' => 'Ошибка загрузки файлов.') : array('files' => $files, 'title' => $title );
- echo json_encode( $data );
- ?>
- 3.0 в JS подключил код:
- var files;
- $(function(){
- $('input[type=file]').change(function(){
- files = this.files;
- });
- $('.button').click(function(event){
- event.stopPropagation(); // Остановка происходящего
- event.preventDefault(); // Полная остановка происходящего
- // Создадим данные формы и добавим в них данные файлов из files
- var data = new FormData();
- $.each( files, function(key, value){
- data.append(key, value);
- });
- // Отправляем запрос
- $.ajax({
- url: dle_root+'/engine/ajax/upload_screen.php',
- type: 'POST',
- data: data,
- cache: false,
- dataType: 'json',
- processData: false, // Не обрабатываем файлы
- contentType: false, // Так jQuery скажет серверу что это строковой запрос
- success: function(respond, textStatus, jqXHR){
- // Если все ОК
- if( typeof respond.error === 'undefined' ){
- // Файлы успешно загружены, делаем что нибудь здесь
- var files_path = respond.files;
- var html = '';
- $.each(files_path, function(key, val){
- html += val +'<br>';
- });
- $('.ajax-respond').html(html);
- } else console.log('ОШИБКИ ОТВЕТА сервера: ' + respond.error);
- },
- error: function(jqXHR, textStatus, errorThrown){
- console.log('ОШИБКИ AJAX запроса: ' + textStatus );
- }
- });
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement