|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.02.2017, 08:50 | #1 |
Пользователь
Регистрация: 11.07.2016
Сообщений: 18
|
Передача файла на сервер.
Уважаемые знатоки!
Имеется проблема. Исходная ситуация: На сайте имею страницы с заданиями для учащихся. По нажатию на кнопку всё, что наработал ученик собирается в одной textarea(это работает). Затем её value отправляется в файл на сервер. <?php if($_POST['btsp']=="Ok") { $s=$_POST["tasp"]; $n=$_POST["fama"]; $n="FILES19/".$n.".txt"; $fp=fopen($n,w); $t=fwrite($fp,$s); fclose($fp); echo "<font size=8>Ваши решения сохранены и отправлены учителю.</FONT>"; } ?> Я ещё не большой знаток в PHP, поэтому решаюсь вставлять маленькие проверенные скрипты. btsp - кнопка type=submit, передающая форму... fama - input, содержащий фамилию ученика по-русски, tasp - textarea, содержащая всме ответы ученика, FILES19 - папка на сервере, куда поступает файл. Проблема: у некоторых учащихся файл на сервер не передаётся. Как вы считаете, какие могут быть причины? С уважением, Иванов Михаил. |
12.02.2017, 11:38 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
|
12.02.2017, 16:25 | #3 |
Пользователь
Регистрация: 11.07.2016
Сообщений: 18
|
То же
Ошибки в коде нет, потому что файлы создаются в большинстве случаев, например я создаю свои файлы на рабочем компьютере и на домашнем компьютере. В школе, на рабочих компьютерах, файлы создаются у всех без исключения.
Может, думаю, дело в том, что имена файлов по-русски? Нет. У многих получается. Может, думаю, что на работе Linux? Нет. Приходят файлы и с Windiws(от XP до 10). Голову сломал. |
12.02.2017, 16:33 | #4 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Ошибка может быть не в самом коде – а возникать при его работе по независящим от самого кода причинам.
В данном случае – при файловых операциях (fopen/fwrite). Эти ошибки можно отслеживать при помощи отдельных условных операторов (для каждой операции – в случае неудачи выводится соответствующий пояснительный текст) или исключений. Также можно изучить логи сервера на предмет ошибок при файловых операциях за определенный период. |
13.02.2017, 09:12 | #5 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,161
|
ну и желательно не давать возможности ученикам влиять на названия файлов...
ибо такого погут понаписать. Выж нигде не проверяете допустимые символы. А будут использовать например / или * или еще чего - и не дождетесь вы своих файлов. Как вариант - генерировать уник имена файлов в скрипте - а поле с фамилией внутри файла... |
14.02.2017, 20:35 | #6 |
Пользователь
Регистрация: 11.07.2016
Сообщений: 18
|
К тому же вопросу
Всем, кто откликнулся, спасибо.
Но тут вот что возникает. Чтобы отработать php я испльзую невидимую кнопочку и, оказывается на JS не проходит в самых популярных браузерах вот такая штука: document.getElementById("knopka").c lick(); Иванов М. |
14.02.2017, 21:28 | #7 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
http://stackoverflow.com/questions/2705583/how-to-simulate-a-click-with-javascript
Или использовать «видимую кнопочку». Или использовать jQuery или подобные библиотеки. Последний раз редактировалось Andkorol; 14.02.2017 в 21:31. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Передача файла сервер клиент | I_am_ | Win Api | 1 | 10.12.2014 16:56 |
Передача файла клиент-сервер | Loveb | C/C++ Сетевое программирование | 2 | 27.05.2011 10:10 |
Передача файла на сервер | eldar | Работа с сетью в Delphi | 4 | 03.09.2008 22:09 |