Что такое входной файл
Я якорь CMS и я только что обновился до версии 0.8. Когда я пытаюсь запустить установщик, я получаю ошибку "нет указанного входного файла". Я считаю, что это более чем вероятно .проблема htaccess, но я не уверен, какие правильные настройки должны быть.
мой сайт можно найти здесь.
мой .htaccess имеет значение:
Я также использую GoDaddy в качестве хостинг-провайдера, если это помогает.
нам нужно найти альтернативу.
мы нужно найти альтернативу изменению настроек PHP
Ищем system/uri.php в строке 40 вы увидите, что CMS пытается два типа обнаружения URI-первый PATH_INFO , который мы только что узнали, не будет работать-другой является REQUEST_URI .
этого в принципе должно быть достаточно - но разбор URI пройден, вызовет у вас больше проблем, так как URI, который вы могли бы передать REQUEST_URI переменной, сил parse_url() для возврата только URL-адреса - что в принципе возвращает вас к нулю.
теперь на самом деле осталась только одна возможность - и это изменение ядра CMS. Часть обнаружения URI недостаточна.
добавить QUERY_STRING к массиву на линии 40 как первый элемент на system/uri.php и изменить свой .htaccess для выглядеть так:
это пройдет в URI запроса index.php as QUERY_STRING и иметь обнаружение URI, чтобы найти его.
этого, с другой стороны, делает невозможным обновление CMS без изменения основных файлов, пока это не будет исправлено. Это отстой.
нужен лучший вариант?
Найдите лучшую CMS.
Если вы хотите использовать GoDaddy в качестве хоста, и вы обнаружите, что получаете ошибки "нет указанного входного файла" на панели управления, вам нужно создать php5.ini файл в вашем weboot со следующим правилом:
cgi.fix_pathinfo = 1
лучший простой ответ только одно изменение строки, и вы все настроены.
рекомендуется для godaddy размещающий.
в моем случае произошла ошибка в php.переменной ini опцию open_basedir.
GoDaddy в настоящее время (февраль '13) поддерживает модификацию FastCGI для некоторых учетных записей с использованием PHP 5.2.x или раньше. См. статью GoDaddy"отключение FastCGI в вашей учетной записи хостинга".
(В моем случае это, по-видимому, необходимо, чтобы помочь получить текущую версию LimeSurvey (2.0) в рабочем состоянии.)
добавить эти строки .файлы htaccess (каталог установки webroot & website):
Это экономит мне день! Ура! Спасибо вперед!
Это сработало для меня..добавить сверху .файл htaccess. Это отключит FastCGI на общей учетной записи хостинга godaddy.
Параметры + ExecCGI
Run ulimit -n 2048
и перезапустите php / php-fpm
решением для меня было удалить пробел в одном из моих вспомогательных файлов. В ошибке перечислены две страницы, файл сеанса CI и один из моих пользовательских помощников.
Презентация на тему: " Работа с входными и выходными файлами Зачем это нужно и как это сделать Подготовила Пресняк Т.В." — Транскрипт:
1 Работа с входными и выходными файлами Зачем это нужно и как это сделать Подготовила Пресняк Т.В.
2 Для чего нужны входной и выходной файлы Мы рассматривали задачи, в которых во время выполнения программ данные поступали с клавиатуры, а результаты выводились на экран дисплея. Поэтому ни исходные данные, ни результаты не сохранялись. Всякий раз при выполнении одной и той же программы, особенно во время ее отладки, приходится заново вводить исходные данные. А если их очень много? В языке Паскаль есть возможность записать их на диск. Для этого создаются входные (содержащие исходные данные) и выходные (содержащие результат выполнения программы) файлы. В языке Паскаль файл представляет собой последовательность элементов одного типа.
3 Работа с входным файлом На диске «С» сохраняем файл, созданный в «Блокноте» с именем «input», в котором записываем исходные данные для программы Для установления связи между входным файлом и программой имеется стандартная процедура: Assign(input, c:\input.txt); - где input – имя входного файла, а c:\input.txt – путь к данному файлу Чтение исходных данных из файла: Reset(input);- открываем файл для чтения Read(a,b); - читаем данные файла в программу (a и b - переменные) Закрытие входного файла: Close(input); Между операторами Reset, Read, Close могут быть другие операторы в программе
4 Запись результата в выходной файл Под записью файла понимается вывод результатов программы из оперативной памяти на диск, т.е. создание нового файла на внешнем устройстве. Для записи файла в программе необходимо выполнить следующие действия: Assign(output,C:\output); Rewrite(output.txt); - открыть файл для записи Writeln(s); - записать данные в файл, при этом запись идет поэлементно Close(output); - закрыть файл для записи
5 Пример программы 1 Задача : Д аны т ри ц елых ч исла. Н айдите среднее и з н их п о с воему з начению
6 Решение: Program chislo; Var a,b,c,sr: integer; Begin Assign(input,c:\input.txt); Reset(input); Read(a,b,c); Close(input); If (a
7 Пример программы 2 Задача : Дано N- е количество пар двузначных чисел. Найти среди них такие пары чисел, сумма которых равна 100.
Когда программа начинает выполняться, по умолчанию открываются три файла stdin, stdout и stderr, поэтому, когда мы используем scanf (), printf () и другие функции, нам не нужно использовать fopen () для явного открытия этих файлов.
- Процесс отображения потока данных на языке C
- Откройте поток во время компиляции. Система подключит поток к файлу или устройству. Например, если я хочу открыть zyx.txt или ввести фрагмент данных с клавиатуры, поток stdin будет подключен к файлу или клавиатуре. При открытии файла сначала загрузите файл в буфер и верните указатель на тип структуры FILE, который записывает всю необходимую информацию для управления потоком.
- Далее все операции с этим файлом zyx.txt будут сопоставлены операциям с буфером. Если я хочу изменить слово в файле, мне нужно только изменить слово в буфере.
- Только когда буфер принудительно обновляется, файл закрывается или программа завершается, содержимое буфера обновляется в файл.
- Цель потока данных
Цель потока данных - сделать вывод и ввод независимыми от устройства.
Input Stream не волнует, из какого устройства (клавиатура, файл, сеть) исходит источник данных, Output Stream не заботится о том, для какого устройства (клавиатура, файл, сеть) предназначены данные.
1.2 Буфер
- Значение буфера
- Буферная классификация
Буферы делятся на три типа: полный буфер, строковый буфер и без буфера.
Полностью буферизованный
В этом случае фактическая операция ввода-вывода выполняется после заполнения стандартного кэша ввода-вывода. Типичным представителем полной буферизации является чтение и запись в файлы на диске.
Строка буфера
В этом случае, когда на входе и выходе встречается символ новой строки, выполняется фактическая операция ввода-вывода. В это время вводимые нами символы сначала сохраняются в буфере, и фактическая операция ввода-вывода выполняется при нажатии строки возврата каретки нажатием клавиши Enter. Типичными представителями являются стандартный ввод (стандартный вывод) и стандартный вывод (стандартный вывод).
- Характеристики буфера
- Размер буфера
Если мы не установим буфер самостоятельно, система по умолчанию установит буфер для стандартного ввода и вывода. Размер этого буфера обычно составляет 512 байт.
Размер буфера определяется макросом BUFSIZ в заголовочном файле stdio.h. Если вы хотите просмотреть его размер и включить заголовочный файл, просто выведите его значение следующим образом:
Размер буфера может быть изменен, и файл также может быть связан с пользовательским буфером. Подробнее см. функцию setbuf (). - Обновление буфера
Следующие условия приведут к обновлению буфера- Когда буфер заполнен;
- Когда строковый буфер встречает возврат каретки;
- Закройте файл
- Используйте определенную функцию для обновления буфера.
- scanf() and printf()
Функция scanf () используется для чтения и форматирования со стандартного ввода ввода (клавиатура), а функция printf () отправляет форматированный вывод на стандартный вывод вывода (экран).
Объявление функции scanf выглядит следующим образом:
Формат параметра - это символьный указатель, который является просто строкой C. Формат спецификатора формата:
формат - это строка, содержащая текст для записи в стандартный вывод. Он может содержать встроенные теги формата, которые могут быть заменены значениями, указанными в дополнительных параметрах, которые следуют, и отформатированы по мере необходимости.
Атрибуты тегов формата:Примеры следующие:
Функция int getchar (void) считывает следующий доступный символ с экрана и возвращает его как целое число. Эта функция будет читать только один символ в одно и то же время. Вы можете использовать этот метод внутри цикла, чтобы прочитать несколько символов с экрана.
Функция int putchar (int c) выводит символы на экран и возвращает те же символы. Эта функция будет выводить только один символ одновременно. Вы можете использовать этот метод внутри цикла для вывода нескольких символов на экране.
Результаты приведены ниже:
Когда программа вызывает getchat (), она ждет, пока пользователь введет значения с помощью клавиши ввода без клавиатуры. Когда пользователь нажимает клавишу ввода, эти входные значения, включая последний введенный возврат каретки '\ n', будут сохранены в буфере. Символ возвращается как возвращаемое значение функции.
Если вы продолжите вызывать функцию getchar () в это время, оставшееся значение, которое не было возвращено в буфере, вернет второе и т. д., пока не будет вызван getchar () Все остальные значения выводятся. В настоящее время для завершения содержимого getchar () требуется количество завершения. В конце значения находится символ возврата каретки ‘\ n’, который может быть оценен по нему.Обратите внимание, что \ n - это одинарные кавычки в приведенном выше суждении.
В языке C одинарные и двойные кавычки имеют разное значение. Одиночные кавычки изменяют один символ, а двойные кавычки изменяют строку. В строках языка C по умолчанию добавляется «\ 0» в конце строки, что означает, что строка «\ n» действительно (модифицированный escape-символ может быть посчитан как символ) За символом «\ n» следует символ «\ 0», который является строкой «\ n \ 0», и, естественно, «\ n»! = "\ N \ 0", «\ n» невозможно Отменено.
Результат с одинарными кавычками завершается, как показано ниже:
Используйте двойные кавычки без завершения, как показано ниже:- gets() and puts()
Функция gets () объявлена следующим образом:
Функция gets читает строку из stdin в буфер, на который указывает s, и знает терминатор или EOF.
Функция put () объявлена следующим образом:Функция put записывает строку s и завершающий символ новой строки в стандартный вывод.
Примеры следующие:Результат компиляции и запуска:
Для нового участника олимпиады возникает непонимание в работе с «какими-то» входными и выходными данными. Любая олимпиадная задача в формулировке задания обязательным образом описывает формат входных и выходных данных, а составленная программа должна считать данные, обработать и вывести результат. Обычно чтение происходит из файла INPUT.TXT, а вывод в некоторый файл OUTPUT.TXT . Т.е. для решения олимпиадных задач нужно уметь работать с файлами. Помимо условия задачи, правил ввода и вывода информации на каждую задачу накладываются ограничения на время выполнения. Отнеситесь к этому, пока как к условному требованию.
Пример формулировки олимпиадной задачи по программированию
Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБИсходные данные
исходные данные
В единственной строке входного файла INPUT.TXT записано два натуральных числа через пробел, не превышающих 10 9 .
Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму чисел А и В.
Эта простая задача соответствует всем критериям правильной постановки олимпиадной задачи и позволяет ознакомиться с системой автоматической проверки. При решении необходимо из входного файла input.txt, расположенного в текущей папке (где и Ваша программа) считать 2 целых числа и вывести их сумму в выходной файл output.txt.
Повторюсь, ограничения по памяти в 64Мб и времени 1 сек. весьма условны, так как такая простая задача потребует минимальную память и выполнится за минимальный промежуток времени . Каждая задача имеет пример входных и выходных данных , это необходимо для однозначного понимания содержания задачи. В данном примере в разделе отражен пример входных данных "2 5" и выходных "7", это означает, что 2+5=7.
В мире предпочтение отдается языку С++, но в России по-прежнему классическим языком программирования остается Pascal. В школе программистов при нашем АГУ изучают С++. Поэтому, чтобы получить поддержку при подготовке к олимпиаде на республиканском уровне желательно изучить ещё и С++, ну а я помогу.
Пример решения рассмотренной задачи о сложении двух чисел на языках Pascal и С:
var a,b:real;
var a, b : longint;
Для участника олимпиады, иногда, требуется написать программу, которая считывает некоторые данные из одного файла, производит определенные вычисления, а результат выводит в другой файл.
Читайте также: