1

Я работаю с инструментом загрузки async-файлов под названием plupload. У меня все настроено и работает так, как я хочу, на отдельной странице, но у меня проблема. Я переношу свой код в систему управления контентом, которая хранит все PHP на странице в базе данных - он также анализирует фрагменты PHP, я думаю, чтобы проверить, что все без ошибок.Очистка страницы PHP

Проблема в этом. Я хотел бы вернуть ответ на успешную загрузку.

На отдельной странице я использую die («Ответ») и останавливаю PHP перед разделом HTML. В этом случае я не могу, потому что CMS все равно оставит остальную часть страницы в полном объеме.

мне нужно отправить форму на себя, потому что я включая некоторые без яваскрипта материал для деградированных форм проверки и т.д.

Кто-нибудь есть простое решение? Я в настоящее время тестирую любой асинхронный ответ вообще (после сообщения, я имею в виду), и называю это «успехом» при завершенной загрузке, если вы будете следовать тому, что я имею в виду. Мне это не очень нравится. Я задавался вопросом о том, чтобы заставить ошибку сервера при любом неуспехе (если можно). Будет ли это особенно плохой практикой?

ответ

0

Я использую технику, вдохновленный выше MySQL предложение.

plupload содержит событие FileUploaded.

Я генерирую случайное число, прежде чем запускать загрузку и публикацию, которые вместе с каждым файлом. После того, как я закончил перемещение файла на стороне сервера (на самом деле в приложении электронной почты) - если почта отправлена ​​успешно, я пишу небольшой текстовый файл, используя случайное число, как имя и «успех» или аналогичный контент ,Затем, когда plupload's FileUploaded запущен, я делаю новый запрос async к маленькому автономному файлу PHP, передавая одно и то же случайное число, и он считывает файл перед его отключением.

Еще раз спасибо за помощь. Кажется, это работает очень хорошо.

+0

некий файл cookie/запись DB для бедного человека – stackuser10210

2

Если вы хотите перезаписать файл index.php вашей CMS, это сработает.

  • Переименуйте текущий index.php в другое. Мы скажем 'cms.php'. Вы можете изменить разрешения, чтобы только ваш сервер мог читать их.
  • Создайте новый PHP-файл под названием index.php. Мы используем example from the include docs (# 6) в руководстве по PHP. Вот the (modified) code.
    • примечание: углубление get's все вяло, поэтому вместо этого я буду использовать его. не стесняйтесь редактировать

Если в любой момент в любой части вашего сайта вы хотите потерпеть неудачу, вы можете просто придерживаться реальных данных в $GLOBALS['failContent'], и пользователь никогда не увидит какой-либо CMS Сгенерированный ,


Я не уверен, что эффект die бы, делая это, но я считаю, что это будет мешать нам выводить ничего ... но я не уверен. Кто-нибудь знает?

+0

Я не думаю, что мне удобнее переписывать index.php для этой функции, но это похоже на то, что может работать. Благодарю. – stackuser10210

2

Поместите этот код в файл PHP

<?php 
$uploaddir='../uploads/'; 
$uploadfile=mysql_prep($uploaddir.basename($_FILES['uploadfile']['name'])); 
if(move_uploaded_file($_FILES['uploadfile']['tmp_name'], $uploadfile)) 
{ 
    $name=mysql_prep(($_FILES['uploadfile']['name'])); 
    $type=mysql_prep(($_FILES['uploadfile']['type'])); 
    $data=($uploadfile); 
    $size= intval($_FILES['uploadfile']['size']); 
    #echo $data; 
    $branch=mysql_prep($_POST['branch']); 
    $sem=mysql_prep($_POST['sem']); 
    $query="INSERT INTO upload_file (name,type,data,size,created,branch_id,sem_id) VALUES ('{$name}','{$type}','{$data}','{$size}',NOW(),'{$branch}','{$sem}')"; 
    $result=mysql_query($query); 
    if($result){ 
     echo"<h2>file successfully uploaded<h2>"; 
     redirect_to(root."afterlogin/upload.php?spload=0112"); 
    } 
    else{ 
     echo" the file you insert can't be uploaded"; 
    } 

и включить это в HTML файл

<?php if(isset($_GET['spload'])){ 
$upload_process="you have successfully uploaded your file. "; 
$upr=1; 

    }else{ 

    $upr=0; 

} 

?> 
+1

Спасибо за это. Я не знаком с mysql_prep, но вы дали мне пару идей. – stackuser10210

 Смежные вопросы

  • Нет связанных вопросов^_^