Задать вопрос
RockBearLTD
@RockBearLTD
Ленивый недопрограммист.

PHP скрипт открывается как текст и не выполняется. В чем причина?

Делаю для личного пользования небольшую программку, работающую в браузере, через HTML. Я немного знаком с HTML, но для нужных мне функций в программе хватает всяческих обучающих статей.
В одной папке лежат файлы: share.html, do_upload.php и папка image.

Содержимое share.html:
<form method="post" action="do_upload.php" enctype="multipart/form-data">
   <p>Загрузите ваши фотографии на сервер</p>
   <p><input type="file" name="photo" size="30">
   <input type="submit" name="submit" value="Отправить"></p>
  </form>


Делал по обучающей статье. Представляет собой форму для загрузки изображения, после нажатия "Отправить" - должен, по идее, выполняться PHP-скрипт. Вот его содержимое:
<?php

  if ($photo_name != "") {
    @copy($photo, image/photo_name)
    or die ("Невозможно загрузить фото");
  } 
  
  else {
    die ("Файл не обнаружен");
  }

?>


Читал на разных сайтах, что причина может быть в том, что нет PHP поддержки у сервера, но я пишу для личного пользования на одном компьютере, и никакой сервер мне не нужен. Еще где-то читал, что формат php файла должен быть назван верхним регистром - *.PHP
Менял это, но не сыграло никакой роли.

В чем причина того, что PHP скрипт не выполняется, а просто открывается, как в текстовом редакторе?

1c8e43012ba244fab1cf79ba5f76b061.png
  • Вопрос задан
  • 23455 просмотров
Подписаться 1 Оценить 2 комментария
Решения вопроса 4
IvanCher
@IvanCher
Мысли шире
Вам нужно понимать, что происходит, когда запрос доходит до веб-сервера.

Сперва веб-сервер (обычно Apache или Nginx) получают запрос и принимают решение, что делать с ним дальше. Если нет правила для такого запроса, то они просто попытаются найти файл и отдать его, как статический. В вашем случае так и происходит. Часто веб-серверу пишут правило типа "если запрос заканчивается на .php, то передай его на исполнение php (mod-php, php-fpm, php-fastcgi и т.п.), а полученный от php ответ верни клиенту (браузеру, как правило)".

Я использую во время разработки встроенный php-веб-сервер, но не вздумайте его использовать на живом проекте. На реальном сервере с проектом лучше использовать nginx+php-fpm.
В unix-подобных системах встроенный пхп-веб-сервер запускается очень просто:
- Через консоль(терминал) заходите в папку с проектом и пишете "php -S localhost:8000".
- После этого в браузере заходите на урл localhost:8000 и Ваш проект работает.
Если Вы работаете на windows, то быстрее осваивайте линукс\mac и разрабатывайте сразу на нормальных системах. Или, как я раньше делал, на виртуалке поднимайте сервер и на нем разрабатывайте.
Ответ написан
hummingbird
@hummingbird
У вас не установлен PHP. Прошу любить и жаловать: www.denwer.ru
В каком регистре вы пишите формат файла, не имеет значения.

P. S. "Личное использование" не дает вам магическую способность по интерпретации языка PHP откуда и где вы захотите.
Ответ написан
@graf_777_gos
3 курс. Информационные технологии! (2015г)
В данном случае вам нужно установить локальный сервер (Denwer, Xampp и т.п.) Посмотрите видео-урок по одному из лок. серверов
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@624071
Вопрос решил просмотрев и выполнив действия в видосе :
https://www.youtube.com/watch?v=ZWuRCLb5aIc
притом выводится стало до просмотра ...до 2-27 сек
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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