Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: input type=file
 
 автор: Чайка   (21.04.2009 в 18:43)   письмо автору
 
 

Кто знает, прошу подсказать, написал скрипт для редактирования текстового файла по определенному алгоритму открываю файл через функцию fopen, отрывок скрипта следующий:

<?php
class OpenFile      
    
{
    static 
$_URL;
    static 
$_page;
    static 
$_line;
    static 
$_text;
    
//------------------------------------------------------------
    
static function OpenFile_txt()  
        {  
        
OpenFile::$_URL "words.txt";
        
OpenFile::$_page fopen(OpenFile::$_URL"r");
        while(!
feof(OpenFile::$_page))            
            {
            
// получаем строку
            
OpenFile::$_line fgets(OpenFile::$_page1024);
            
//echo '<br>ТЕКСТ ->'.OpenFile::$_line;            
            
OpenFile::$_text[] = OpenFile::$_line;                                
            }                                             
        return 
OpenFile::$_text;
        }
    
//------------------------------------------------------------
    
}  // запускать так OpenFile::OpenFile_txt();    
?>

Собственно вопрос следующий: как можно через форму указывать переменной OpenFile::$_URL путь к файлу и адрес файла вместо строки OpenFile::$_URL = "words.txt";
Предполагаю что как-то так:

<form enctype="multipart/form" action=index.php method=post>
            <table border=0>
            <tr>
              <td width=130 class=field>Файл:</td>
              <td><input type=file name=name ></td>
            </tr>
            <tr><td>&nbsp;</td>
            <td>
            <input class=button type=submit value=Загрузить></td></tr>
            
            </table>
            </form>

Этот скрипт для загрузки файла, а как переменной name передать путь к файлу?

  Ответить  
 
 автор: sim5   (21.04.2009 в 18:48)   письмо автору
 
   для: Чайка   (21.04.2009 в 18:43)
 

А зачем вам путь к файлу на клиенте?

  Ответить  
 
 автор: Чайка   (21.04.2009 в 18:58)   письмо автору
 
   для: sim5   (21.04.2009 в 18:48)
 

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

  Ответить  
 
 автор: Trianon   (21.04.2009 в 19:00)   письмо автору
 
   для: Чайка   (21.04.2009 в 18:58)
 

Пользователи тоже будут только локальные?
php от браузера клиентский путь принимать не будет.

  Ответить  
 
 автор: Чайка   (21.04.2009 в 19:06)   письмо автору
 
   для: Trianon   (21.04.2009 в 19:00)
 

Да, пользователи тоже будут только локальные.

  Ответить  
 
 автор: sim5   (21.04.2009 в 19:10)   письмо автору
 
   для: Чайка   (21.04.2009 в 19:06)
 

Тогда получайте посредством JS значение атрибута value поля выбора файла и передавайте его скрытому полю формы. Ну а далее понятно....

  Ответить  
 
 автор: Чайка   (21.04.2009 в 19:14)   письмо автору
 
   для: sim5   (21.04.2009 в 19:10)
 

Если не трудно как в коде это будет?

  Ответить  
 
 автор: sim5   (21.04.2009 в 19:20)   письмо автору
 
   для: Чайка   (21.04.2009 в 19:14)
 

<script>
function showPath() {
  alert(document.getElementById('path').value)
}
</script>

<input type="file" onchange="document.getElementById('path').value = this.value; showPath()">
<input type="hidden" name="path" id="path" value="">


Функция showPath() чисто для проверки, так что удалите ее потом, как посмотрите, вместе с тегами <script></script>, а также ссылку на функцию в атрибуте onchange поля ввода файла.

  Ответить  
 
 автор: Trianon   (21.04.2009 в 19:11)   письмо автору
 
   для: Чайка   (21.04.2009 в 19:06)
 

тем не менее <input type=file> не подойдет для прямого доступа к файлам на клиентской машине.

  Ответить  
 
 автор: Trianon   (21.04.2009 в 18:57)   письмо автору
 
   для: Чайка   (21.04.2009 в 18:43)
 

Файл находится на клиенте или на сервере?

  Ответить  
 
 автор: Чайка   (21.04.2009 в 19:00)   письмо автору
 
   для: Trianon   (21.04.2009 в 18:57)
 

Файл *.txt находится на сервере

  Ответить  
 
 автор: Trianon   (21.04.2009 в 19:01)   письмо автору
 
   для: Чайка   (21.04.2009 в 19:00)
 

>Файл *.txt находится на сервере

Браузер к файлам на сервере через форму загрузки файла дотянуться не сможет.

  Ответить  
 
 автор: Чайка   (21.04.2009 в 19:35)   письмо автору
 
   для: Trianon   (21.04.2009 в 19:01)
 

Всем спасибо за помощь!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования