S1egh4rdt
@S1egh4rdt
Вот я тип

Как заставить грамотно работать плагин PekeUpload с php?

Недавно столкнулся с выбором плагинов для загрузки файлов на сервер. Понравился PekeUpload
После чего было решено его попробовать заюзать. Сейчас все подключил и пробую через апачевский домен из под убунту залить файл. Итог: файл не заливает и progressbar на 0%.
При настройке редактировал pekeUpload.js:
//...
var defaults = {
            dragMode: false,
            dragText: "Перетащите файл или кликните и выберите его вручную",
            bootstrap: true,
            btnText: "Загрузить изображение...",
            allowedExtensions: "jpg|png|mp3",
            invalidExtError: "Invalid File Type",
            maxSize: 0,
            sizeError: "Size of the file is greather than allowed",
            showPreview: true,
            showFilename: true,
            showPercent: true,
            showErrorAlerts: true,
            errorOnResponse: "There has been an error uploading your file",
            onSubmit: true,
            url: "upload.php",
            data: null,
            limit: 1,
            limitError: "Вы можете загрузить только одно изображение!",
            onFileError: function(file, error) {},
            onFileSuccess: function(file, data) {}
        };
//...

Файл upload.php взял из "коробки" и ничего не менял, но все же вот:
<?php
/*
PekeUpload
Copyright (c) 2013 Pedro Molina
*/

// Define a destination
$targetFolder = 'uploads/'; // Relative to the root


if (!empty($_FILES)) {
	$tempFile = $_FILES['file']['tmp_name'];
	$targetPath = dirname(__FILE__) . '/' . $targetFolder;
	$targetFile = rtrim($targetPath,'/') . '/' . $_FILES['file']['name'];
	
	// Validate the file type
	$fileTypes = array('jpg','jpeg','gif','png','mp3'); // File extensions
	$fileParts = pathinfo($_FILES['file']['name']);
	$response = array ();
	if (in_array($fileParts['extension'],$fileTypes)) {
		move_uploaded_file($tempFile,$targetFile);
		$response['success'] = 1;
		foreach ($_POST as $key => $value){
			$response[$key] = $value;
		}
		echo json_encode($response);
	} else {
		$response['success'] = 0;
		$response['error'] = 'Invalid file type.';
		echo json_encode($response);
	}
}
?>

В index.php:
...
<label class="control-label">Выберите изображение для товара</label>
<input id="file" type="file" class="file">
...
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/pekeUpload.js"></script>
	<script>
		$(document).ready(function() {		    
	    $("#file").pekeUpload({url: "upload.php", limit: 1});
		});
	</script>
...

Как решить проблему?
  • Вопрос задан
  • 494 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы