У меня проблема при отправке данных с помощью сценария загрузки.
Впервые скрипт загрузки установлен правильно, все отлично работает. Но мне нужно использовать загруженные данные (через скрипт uploadify) для mysql и других.
Вот мой код для вызова скрипта загрузки:
<script type="text/javascript">
$(document).ready(function() {
$('#file_upload').uploadify({
'uploader' : '/uplod/uploadify/uploadify.swf',
'script' : '/uplod/uploadify/uploadify.php',
'cancelImg' : '/uplod/uploadify/cancel.png',
'folder' : '/uplod/uploads/',
'auto' : true,
'multi' : false,
'onComplete': function(event, queueID, fileObj, response, data){
var form = document.forms['form'];
var i = 0;
var el = document.createElement("input");
el.type = "hidden";
el.name = "test";
el.id = "test2";
el.value = fileObj.name;
form.appendChild(el); },
'onAllComplete': function(event,data) { document.getElementById('form').submit();},
});
});
</script>
Я нашел этот код по адресу: http://www.uploadify.com/forums/discussion/7102/for-all-those-who-struggle-on-inserting-filenames-into-a-db-after-uploading/p1
Речь идет о том, как перезвонить после загрузки файла.
Вот код uploadify.php:
<?php
if (!empty($_FILES)) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
$targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
move_uploaded_file($tempFile,$targetFile);
echo '0'; // Required to trigger onComplete function on Mac OSX (same for linux and windows as it seems)
}
else { // Required to trigger onComplete function on Mac OSX (same for linux and windows as it seems)
echo '1';
$video = $_POST[test];
$textfield = $_POST[textfield];
echo $video;
echo $textfield;
}
?>
А вот форма, которую мне нужно создать, чтобы я мог получить эту работу.
<form id="form" name="form" method="post" enctype="multipart/form-data" action="uploadify/uploadify.php">
<input id="file_upload" name="file_upload" type="file" />
<input type="text" name="textfield" id="textfield" />
</form>
Проблема здесь, когда я использую enctype="multipart/form-data"
uploadify.php пишет мне 0, когда я удаляю enctype="multipart/form-data"
пишет мне 1. И это то, что мне нужно. Как вы можете видеть из кода, я поместил некоторый глупый код в конец файла uploadify.php, чтобы проверить его.
Я думаю, что это не работает, потому что в коде javascript я нигде не пишу enctype. может я не прав.
Я пытался редактировать это:
var form = document.forms['form'].enctype = "multipart/form-data";
но ничего,
также я попробовал:
'onAllComplete': function(event,data) { document.getElementById('form').enctype;
document.getElementById('form').submit();},
но опять ничего. Любая помощь приветствуется ...
PS Это тестовый пример, для этого кода мне не нужны multipart / form-data, но в проекте, тестирование которого мне нужно multipart / form-data, потому что я тестирую скрипт загрузки для небольшого видео-загрузчика, и мне нужно обложка для каждого видео.