Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2010, 20:06   #1
Drek
Пользователь
 
Регистрация: 28.02.2009
Сообщений: 52
По умолчанию Загрузить файл и выполнить php

Такая задача нужно что бы с веб страницы можно было загрузить файл, только с расширением drb. И выполнить его на сервере. с помощью функции eval. Тобишь пользователь выбирает файл нажимает на кнопку установить и содержимое этого файла выполняется с помощью команды eval.
Как это сделать? и пожалуйста по подробнее и в деталях.
Drek вне форума Ответить с цитированием
Старый 03.05.2010, 21:09   #2
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
По умолчанию

1. Загружаете файл на сервер и сохраняете под каким либо именем.
2. Читаете содержимое файла в строку функцией $data=file_get_contents(loaded_file .drb);
3. Теперь уже eval($data);

Получаем что-то вроде этого:

Форма:
Код:
<html>
<head>
  <title>Загрузка файлов на сервер</title>
</head>
<body>
      <h2><p><b> Форма для загрузки файлов </b></p></h2>
      <form action="upload.php" method="post" enctype="multipart/form-data">
      <input type="file" name="filename"><br> 
      <input type="submit" value="Загрузить"><br>
      </form>
</body>
</html>
Скрипт обработки загруженного файла upload.php:
Код:
<?php
   if ($_FILES["filename"]["type"]=="drb") {
       copy($_FILES["filename"]["tmp_name"],$_SERVER["DOCUMENT_ROOT"]."/loaded/loaded_file.drb");

       $data=file_get_contents($_SERVER["DOCUMENT_ROOT"]."/loaded/loaded_file.drb");
       eval($data);
}
?>
В представленном коде возможны ошибки но в целом всё делается примерно так.
Никки вне форума Ответить с цитированием
Старый 03.05.2010, 22:43   #3
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Только подумайте о безопасности такого скрипта, а то всякие злые люди вам сервак снесут.
Виталий Желтяков вне форума Ответить с цитированием
Старый 03.05.2010, 23:43   #4
Drek
Пользователь
 
Регистрация: 28.02.2009
Сообщений: 52
По умолчанию

Виталий Желтяков
ну я этот скрипт использую в админке так что я думаю ни кто ни чего не ломанёт)))

Никки
Спасибо. Думаю подойдёт сейчас попробую но вроде всё так.

А так что бы при выборе файла отображалось - выбирать только файлы с расширением drb.
Ну тобишь в форме когда выбираешь файл видны были только файлы с таким расширением. Можно так сделать?

Последний раз редактировалось Drek; 03.05.2010 в 23:48.
Drek вне форума Ответить с цитированием
Старый 04.05.2010, 00:14   #5
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
По умолчанию

Как-нибудь так:

Код:
<script>
var t=document.form_name.input_name.value;
if(t!="") {
  var tmp="";
  for(i=t.length-1;i>=0;i--) {
    tmp+=t.charAt(i);
  }
  var f=tmp.split(".");
  t=f[0].toLowerCase();
  if((t.lastIndexOf("cod")==-1) && (t.lastIndexOf("fdp")==-1) && (t.lastIndexOf("slx")==-1) && (t.lastIndexOf("pmb")==-1) && (t.lastIndexOf("gpj")==-1) && (t.lastIndexOf("gepj")==-1)) {
    alert("Вы можете загрузить только DOC, PDF, XLS, BMP или JPEG файл.");
  }
}
</script>
Никки вне форума Ответить с цитированием
Старый 04.05.2010, 14:18   #6
Drek
Пользователь
 
Регистрация: 28.02.2009
Сообщений: 52
По умолчанию

Спасибо всё работает! кроме
Код:
   if ($_FILES["filename"]["type"]=="drb")
, как я понимаю из за браузера. Но со скриптом эта строка вообще в прицепе не нужна.
Drek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузить файл utf8! SkAndrew Общие вопросы Delphi 4 22.04.2010 17:43
Как загрузить файл? Suren Общие вопросы C/C++ 1 06.03.2010 21:47
PHP+MySQL. Как выполнить UPDATE таблицы? ViTYAi PHP 5 24.12.2009 10:03
Загрузить png файл MAcK Мультимедиа в Delphi 1 22.12.2008 22:23
неободимо выполнить php мит PHP 1 01.09.2008 22:36