PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (2): [1] 2 »

> Найдено сообщений: 16
GrishaDm Отправлено: 21 Декабря, 2011 - 10:47:06 • Тема: каталог файлов и папок • Форум: Работа с файловой системой и файлами

Ответов: 12
Просмотров: 5735
LIME пишет:
GrishaDm предлагаете на *nix ставить денвер ? Ха-ха
попробуйте сначала потом отпишите что у вас выйдет...интересно ))

В каком это интересно месте я упомянул *nix? Или вы думаете что все хостинги на *nix? Обрадую вас - это не так - и скажу больше - если найдёте хоть один IIS под *nix, то потом потом обязательно отпишитесь ))
GrishaDm Отправлено: 17 Декабря, 2011 - 18:28:59 • Тема: Простое решение для выбора локального файла с запоминанием пути • Форум: Работа с файловой системой и файлами

Ответов: 12
Просмотров: 5217
tuareg пишет:
Может мы просто по разному это понимаем??? Но если скрипт получил содержание файла переправить его кому-то проблем не составляет.

Да не составляет, но проблема в том как он его получил. На стандартной связке html+php+javascript пока рабочий кроссбраузерно только один вариант:
1. Пользователь выбрал файл и отправил его на сервер.
2. Скрипт на сервере извлёк данные из файла и передал их на клиент.
3. Скрипт на клиенте "получил содержание файла".
Так вот ещё раз что именно хочется:
1. Пользователь выбрал файл и скрипт на клиенте (на этом же пользователе) получил содержание файла.
Хочется не в смысле что я не знаю точно что такое возможно - возможно это, знаю точно - хочется сделать кроссбраузерную заготовку для подобных задач и потом её везде использовать в подобных ситуациях.
GrishaDm Отправлено: 16 Декабря, 2011 - 09:46:03 • Тема: Простое решение для выбора локального файла с запоминанием пути • Форум: Работа с файловой системой и файлами

Ответов: 12
Просмотров: 5217
EuGen пишет:
GrishaDm
К счастью, общего решения этой проблемы нет. Почему к счастью? Потому что я, к примеру (и, думаю, Вы тоже, если задумаетесь) не имею ни малейшего желания сообщать сторонним сайтам то, какая структура данных у меня на локальном диске и как они хранятся. Эту информацию я предпочту оставить только самому себе.

Спасибо за ваше мнение. Но видимо я не совсем точно выразился в описании данной темы - сам путь к файлу нужен не конкретно мне, а javascript-программе у клиента на машине. Это не обязательно должен быть путь, а просто возможность скрипту произвести чтение данных из выбранного пользователем локального файла без отправки этого файла на сервер. Никто никому ничего не должен сообщать и это никому не нужно - короче нужно содержимое выбранного файла, а не данные о нём. И так как пользователь выбрал его сам - не вижу проблем с нарушением конфиденциальности. Используемая технология при этом мне безразлична, лишь бы была очень широко распространённой, доступной всем и кроссбраузерной.
GrishaDm Отправлено: 16 Декабря, 2011 - 09:27:04 • Тема: Простое решение для выбора локального файла с запоминанием пути • Форум: Работа с файловой системой и файлами

Ответов: 12
Просмотров: 5217
Мелкий пишет:

Штатными силами только PHP и JS эта задача решения не имеет.

Это из собственного опыта или есть подтверждения тому от разработчиков наиболее распространённых браузеров или языка Javascript?
Ещё раз подчеркну - интересуют только кроссбраузерные решения - всякие возможности html5, реализованные в 1-2 браузерах да и то не всех версий и не под все ОС (например IE 9, который только Windows и только минимум Vista) - не интересуют. Да я встречал такие решения на flash и они точно кроссбраузерные (проверял в IE, FF, Chrome, Opera, Safari), требуют лишь плагина с поддержкой этой технологии, но не в готовом виде к применению к сожалению.
GrishaDm Отправлено: 16 Декабря, 2011 - 09:15:58 • Тема: каталог файлов и папок • Форум: Работа с файловой системой и файлами

Ответов: 12
Просмотров: 5735
sKaa пишет:


Всё ещё пользуетесь денвером? -Тогда мы идем к вам!

Скажу из практического опыта - некоторым хостингах реально была бы польза от установки на них денвера - там сидят идиоты, которые не могут нормально настроить вэб-сервер даже на совершенно тривиальные операции и оттуда поэтому идёт массовый отток клиентов. Установив денвер, который полегче в настройке, такой хостер бы увеличил собственный доход (если уж он так экономит на техподдержке хостинга что туда кроме полных идиотов никто не идёт работать). Так что не списывайте денвер со счетов - для его применения в будущем наоборот представится огромная ниша, которая будет только расширяться.
GrishaDm Отправлено: 16 Декабря, 2011 - 08:59:09 • Тема: помогите сделать выпадающий список файлов директории • Форум: Работа с файловой системой и файлами

Ответов: 10
Просмотров: 4465
Bio man пишет:
PHP:
скопировать код в буфер обмена
  1. <?
  2. echo "<form method='post'>";
  3. echo "<select name='menu' size=1>";
  4. foreach(scandir('.') as $item){
  5.         if(is_file($item)) {
  6.                 echo "<option value='$item'>$item</option>";
  7.         }
  8.        
  9. }
  10. echo "</select>
  11. <input type='submit' name='submit' value='ok' />
  12. </form>";
  13. if($_SERVER['REQUEST_METHOD'] == 'POST'){
  14.         require_once $_POST['menu'];
  15. }
  16. ?>

(Добавление)
Данил_123 пишет:
не рекомендую использовть
а зачем тогда написал раз не рекомендуешь?
(Добавление)

вопрос к профи - будет ли при каждой итерации выполняться ф-ция scandir?

Вопрос к "профи" - вот вы дали код а теперь проведите с ним следующий эксперимент - выберите директорию где более 10000 файлов и браузер Internet Explorer и запустите его. В лучшем случае из-за тега select такая страница зависнет и придётся снимать задачу. А в худшем вплоть до переустановки ОС. И вообще такое криворукое решение не достойно упоминания - надо выводить постраничным списком с навигацией и указанием сверху текущего пути без всяких select и делить на файлы и папки (папки делать, например, ссылками).
GrishaDm Отправлено: 16 Декабря, 2011 - 04:37:57 • Тема: Простое решение для выбора локального файла с запоминанием пути • Форум: Работа с файловой системой и файлами

Ответов: 12
Просмотров: 5217
tuareg пишет:
Завтра( уже сегодня) ответят более опытные товарищи. Но скорее всего flash. и то как обойти ограничение по политике безопасности. В FF даже эмуляция клика по input type="file" не работает Улыбка
А так получается Вы хотите, чтобы скрипт(flash) мог прочитать все файлы на компе user-a. Это же даже не дыра в безопасности это "дырище"

С точки зрения логики не вижу здесь "дыр" - пользователь сам выбирает файл - как вариант ладно, допустим, скрипт не может знать пути на локальном компьютере - но ведь может же скрипт прочесть то из него информацию в массив? Смысл тогда какой в клиентском языке программирования если он даже такое не может? Тут просто следует употреблять термин не "дырище", а скорее "маразм" (у тех, кто такие ограничения вводил). Вот передача файлов на сервер по протоколу http - это реально "дырище" (ибо в момент изменения прав на файл и папку на запись страничка легко может вылететь, а права на запись так и останутся).
Спасибо за ваш ответ. Надеюсь где-то всё же есть готовые решения.
GrishaDm Отправлено: 16 Декабря, 2011 - 02:22:34 • Тема: Простое решение для выбора локального файла с запоминанием пути • Форум: Работа с файловой системой и файлами

Ответов: 12
Просмотров: 5217
tuareg пишет:
Если такое и возможно, в чем я сильно сомневаюсь. То смотреть надо в сторону флэша.
P.S А кстати в чем проблема? Загрузили файл через iframe. На сервере получили содержимое этого файла(его можно даже не копировать и не загружать ни в какую папку используя tmpl) отдали приложению. Серверная часть отработала, временный файл удалился. По идее все.
Все тут описанное ИМХО. Я буду рад если меня поправят

Да проблем предостаточно. Например:
1. Зачем мне грузить на сервер файл огромный файл нагружая линию, когда мне нужна только небольшая часть информации из него?
2. Файл может превышать ограничения в настройках web-сервера или php по размеру, однако та часть что мне нужна, их не превышает.
3. Сервер может быть перегружен - зачем я ещё буду нагружать его дополнительными задачами? Проще свернуть готовый массив через тот же самый JSON и передать.
4. При обработке информации многие ошибки при работе скрипта в разы проще "отловить" на клиенте, чем на сервере. Хотя бы уже потому что у хостера не всегда известны все настройки, он их может менять без предупреждения, варнинги и нотайсы могут просто не выводиться в лог.
Теперь насчёт флэша - если там есть готовое решение - тогда я им, конечно, воспользуюсь (но пока встречал только поделки с которыми надо разбираться), но "изобретать велосипед" самому - увольте. Собственно именно поэтому и создал тему - кто встретит готовые формы с удобным выбором файла и передачей его на клиенте в javascript - пишите. Если что-либо встречу достойное вашего внимания сам - напишу сюда обязательно.
Вставлю также пару примеров где это может потребоваться:
а) Менеджер загружает прайс-лист в интернет-магазин из эксель или 1с, который сразу конвертируется и передаётся скриптом на сервер для загрузки там в базу данных. Я встречал рабочие проекты, где это сделано через флэш и очень прилично, но с ними надо сидеть и разбираться. В результате конвертирования исходный прайс-лист уменьшался по размеру в 10-100 раз до передачи на сервер.
б) В предыдущем примере вместе с прайс-листом шли фотографии и картинки с товарами, но они не годились для сайта. Их конвертировал скрипт на клиенте и создавал изображения товаров для основного показа и для предварительного просмотра. В другом случае они были вставлены в сам прайс-лист и скрипт их оттуда просто "вытаскивал". Здесь объёмы при передаче уменьшались не так сильно, как в предыдущем примере, но зато проблемы в работе скрипта легче диагностировались и скрипт быстро был "доведён до ума". Изображения грузились естественно на сервер не в виде файлов, а заносились в базу данных (не только из соображений конфиденциальности, но и безопасности).
GrishaDm Отправлено: 15 Декабря, 2011 - 22:17:03 • Тема: Простое решение для выбора локального файла с запоминанием пути • Форум: Работа с файловой системой и файлами

Ответов: 12
Просмотров: 5217
Вот вкратце что за проблема.
Хотелось бы просто с помощью связки html-javascript-php выбирать локальный файл как это делается в html-теге input type='file' и помнить его полный путь на машине клиента (чтобы javascript-программа обработала его и передала результат на сервер). Но в целях безопастности в браузерах пути локальных файлов не запоминаются, а загружать этот файл на сервер не хотелось бы.
У этой задачи есть пути решения (например через подключение невидимого на экране flash-объекта или через загрузку файла на сервер с последующей обработкой, через создание собственного окна меню выбора файла и т. д.), но они не очень удобны и требуют много усилий для их применения. А хотелось бы чтобы скрипт на этой же вэб-странице после выбора файла пользователем в форме по событию submit 1) находил данный файл 2) читал его, скажем, в массив 3) проделывал с прочитанным содержимым какие-либо операции 4) отсылал результат в виде содержимого текущей формы на сервер. Предположим что проблем с доступом на чтение у данного файла нет. Естественно интересуют только кроссбраузерные решения. Как вариант подойдут решения с использованием технологии ajax (хотя в этой задаче я сомневаюсь что они чем-либо помогут).
Лично для меня наибольшую трудность здесь в реализации представляет проблема использования html-тега input='file' не для загрузки файла на сервер, а для выбора локального файла с запоминанием и использованием в javascript-коде его полного пути. Если кто встречал простые готовые решения подобной задачи - пожалуйста подскажите.
GrishaDm Отправлено: 05 Февраля, 2011 - 22:49:34 • Тема: Проблема с <input type='file'> в IE • Форум: Программирование на PHP

Ответов: 7
Просмотров: 827
grefon пишет:
GrishaDm Вам нужно было показать весь код, и если бы мы увидели что Вы указываете тип данных не в html, то ответ Вы получили бы сразу же.

А там просто очень много бы пришлось показывать. И я не уверен что Вы бы вообще ответили, а не только сразу же.
GrishaDm Отправлено: 05 Февраля, 2011 - 22:44:42 • Тема: Проблема с <input type='file'> в IE • Форум: Программирование на PHP

Ответов: 7
Просмотров: 827
Решил проблему. Оказывается enctype='multipart/form-data' должно быть обязательно в html-файле (а не в js-файле). Ибо тогда оно работает во всех браузерах, кроме IE. А тому, кто пишет что "никакого отношения не имеет к input'у" я бы предложил не писать подобные посты очень хорошо не подумав, дабы не засорять форум.
GrishaDm Отправлено: 05 Февраля, 2011 - 15:30:23 • Тема: Проблема с <input type='file'> в IE • Форум: Программирование на PHP

Ответов: 7
Просмотров: 827
garvey пишет:
Ваш warning не имеет никакого отношения к input'у. Ищите в той строке, в которой этот warning появился. В вашем случае вторым аргументом функции array_key_exists является не массив.

Мой warning имеет отношение к input'у.
Скорее не "не массив", а "не элемент массива". Предупреждение появляется когда скрипт пытается получить код ошибки из массива $_FILES, а он пустой в IE. Вот я и пытаюсь понять почему.
GrishaDm Отправлено: 05 Февраля, 2011 - 13:39:14 • Тема: Проблема с <input type='file'> в IE • Форум: Программирование на PHP

Ответов: 7
Просмотров: 827
Здравствуйте. Есть следующая проблема:
Есть скрипт с формой:
CODE (html):
скопировать код в буфер обмена
  1. <input type='file' name='photoView'>

(метод отправки - 'post', тип формы - 'multipart/form-data')
И есть php-скрипт, принимающий форму:

В FF результат:
Array([photoView] => Array ( [name] => test.JPG [type] => image/jpeg [tmp_name] => /home/.../tmp/phpBN3Rex [error] => 0 [size] => 95456 ))
Ошибок и предупреждений нет.
В IE результат:
Array()
Цитата:
Предупреждение: array_key_exists() expects parameter 2 to be array, null given in /home/.../script.php on line ...

Кто-нибудь сталкивался с подобной проблемой? Какие есть идеи как понять в чём ошибка?
GrishaDm Отправлено: 20 Июня, 2010 - 23:24:23 • Тема: Проблемы с подключением php_mysql.dll • Форум: Apache и другие веб-серверы

Ответов: 6
Просмотров: 596
Champion пишет:
Если закомментировать extension обратно, то всё хорошо становится?

Да, становится.

JustUserR пишет:
Действительно в целях переносимости лучше не копировать dll-файлы в каталог windows - но в таком случае надо убедиться что соответствующая переменная окружения PATH и include_path содержат верные пути по каталогов с библиотеками

Да, содержат.
GrishaDm Отправлено: 20 Июня, 2010 - 14:17:23 • Тема: Проблемы с подключением php_mysql.dll • Форум: Apache и другие веб-серверы

Ответов: 6
Просмотров: 596
Спасибо, но топик в данном случае не пригодился. Все библиотеки есть. Специально все их переносил в одну папку, а всё равно вылетает. Вот лог (когда зависает):
The Apache2.2 service is restarting.
Failed to restart the Apache2.2 service.
t: Received restart signal -- Restarting the server.
[Sun Jun 20 18:02:10 2010] [notice] Child 3964: Exit event signaled. Child process is ending.
[Sun Jun 20 18:02:11 2010] [notice] Child 3964: Released the start mutex
[Sun Jun 20 18:02:12 2010] [notice] Child 3964: All worker threads have exited.
[Sun Jun 20 18:02:12 2010] [notice] Child 3964: Child process is exiting
(Добавление)
Ещё раз прошу - дайте пожалуйста рабочие версии библиотек php_mysql.dll и libmySQL.dll у кого PHP 5 версии и MySQL 5 версии? Чтоб сразу исключить проблемы с "кривым" дистрибутивом.

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB