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

HTML+CSS+JavaScript

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

 

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

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

тема: Задать путь для файла
 
 автор: magic   (10.03.2011 в 18:52)   письмо автору
 
 

Добрый день! Возникла проблема, как прописать путь к файлу. Проблема в чем есть грубо говоря 3 файла, один файл с формой, здесь пользователь делает свой выбор

<?php
// делаем запрос;
$query_tip_complect mysql_query ("select * from tbl_tip_complect order by tip_complect");
// выводим форму select
echo "<select name=\"tip_complect\" id=\"tip_complect\" onchange=\"getProizvList(this)\">";
echo 
"<option value=\"0\">------ Не выбрано ------</option>";
// выводим полученые данные
if(mysql_num_rows($query_tip_complect) > 0)
{
     while (list(
$id_tip$tip) = mysql_fetch_row($query_tip_complect))
     {
             
// выводим список
              
echo "<option value=\"".$id_tip."\">".$tip."</option>";
      }
}
    echo 
"</select>";
?>

Потом действие переходит к файлу с JavaScript-ом, тут значит делается запрос к 3-му файлу на пхп, и возвращается назад.

<?php
var ajax = new Array();

function 
getProizvList(sel)
{
    var 
proizvCode sel.options[sel.selectedIndex].value;    
    
document.getElementById('proizvoditel').options.length 0;    
    if (
proizvCode.length 0)
    {
        var 
index ajax.length;
        
ajax[index] = new sack();
        
        
ajax[index].requestFile 'getcities.php?proizvCode=' proizvCode;
        
ajax[index].onCompletion = function() { createProizv(index) };    
        
ajax[index].runAJAX();        // Execute AJAX function
    
}
}

function 
createProizv(index)
{
    var 
obj document.getElementById('proizvoditel');
    eval(
ajax[index].response);    // Executing the response from Ajax as Javascript code    
}
?>

Проблема в том что файл пхп должен находится в одной директории с первым файлом потому что в JavaScripte так прописано ajax[index].requestFile = 'getcities.php?proizvCode=' + proizvCode;, как прописать путь к пхп файлу getcities.php чтоб его можно было расположить в произвольной директории?

  Ответить  
 
 автор: cheops   (10.03.2011 в 18:57)   письмо автору
 
   для: magic   (10.03.2011 в 18:52)
 

А вы укажите абсолютный путь, т.е. вместо относительного пути
ajax[index].requestFile = 'getcities.php?proizvCode=' + proizvCode;
запишите путь от корня сайта
ajax[index].requestFile = '/путь/к/файлу/getcities.php?proizvCode=' + proizvCode;

  Ответить  
 
 автор: magic   (10.03.2011 в 19:10)   письмо автору
 
   для: cheops   (10.03.2011 в 18:57)
 

Почему то не помогает, если я вас правильно понял то я вот так сделал, но это я пробывал и раньше эффекта нет. ajax[index].requestFile = 'http://mysite/standart/modules/getcities.php?proizvCode=' + proizvCode;
Получается что, возвращается пустой результат, т.е. следующая форма в которой должен подгрузится результат пустая

  Ответить  
 
 автор: cheops   (10.03.2011 в 19:34)   письмо автору
 
   для: magic   (10.03.2011 в 19:10)
 

Хм... а если напрямую обратиться к пути http://mysite/standart/modules/getcities.php?proizvCode=' + proizvCode - никаких аномалий нет? Результат в браузер отображается?

  Ответить  
 
 автор: Абырвалг   (10.03.2011 в 19:30)   письмо автору
 
   для: magic   (10.03.2011 в 18:52)
 

Перечитайте свой вопрос:
как прописать путь к пхп файлу getcities.php чтоб его можно было расположить в ПРОИЗВОЛЬНОЙ директории?

А теперь почитайте мой вопрос (по смыслу он АНАЛОГИЧЕН Вашему):
как мне указать мой домашний адрес, чтобы меня можно было найти в ПРОИЗВОЛЬНОЙ точке планеты Земля?

-----

Всякий файл имеет свой конкретный точный адрес.
Его ещё называют АБСОЛЮТНЫМ.

Есть и ОТНОСИТЕЛЬНЫЙ - но он именно что относительный - он всякий раз РАЗНЫЙ, в зависимости от места (файла), из которого по этому относительному адресу вызывают.
В двух метрах справа - относительно моего рабочего стола - окно.
Но это же не значит, что и "в двух метрах справа" относительно Вас (и кого-либо другого) тоже обязательно есть окно...

  Ответить  
 
 автор: magic   (10.03.2011 в 19:44)   письмо автору
 
   для: Абырвалг   (10.03.2011 в 19:30)
 

Ну а как же быть, я выше написал, что я пробывал с абсолютным путем, не помогает, посмотрите пожалуйста выше, проверте, может я что то не так написал

  Ответить  
 
 автор: ТриП   (10.03.2011 в 20:06)
 
   для: magic   (10.03.2011 в 19:44)
 

symlink()

  Ответить  
 
 автор: magic   (10.03.2011 в 21:27)   письмо автору
 
   для: ТриП   (10.03.2011 в 20:06)
 

Чет не могу найти как его юзать. Может поможете, еще советом, заранее спасибо

  Ответить  
 
 автор: magic   (11.03.2011 в 14:57)   письмо автору
 
   для: magic   (10.03.2011 в 21:27)
 

.

  Ответить  
 
 автор: Абырвалг   (11.03.2011 в 16:13)   письмо автору
 
   для: magic   (10.03.2011 в 21:27)
 

symlink здесь вообще не в тему.

В общем, расшифруйте подробнее свою фразу: "есть грубо говоря 3 файла", сиречь, вместо "грубого" скажите точно:
а) абсолютные URL's 1, 2 и 3 файлов в виде: http://site.ru/путь к файлу плюс его имя;
б) в каком именно из этих трёх файлов возникают проблемы при обращении к какому именно из этих трёх файлов;
в) причём тут ТРЕТИЙ файл, если проблема в одном (ПЕРВЫЙ файл) при обращении к другому (ВТОРОМУ файлу)?

----
При описании проблемы давайте здесь HTML-код (то, что получает браузер), а не PHP-бред.

  Ответить  
 
 автор: magic   (11.03.2011 в 23:52)   письмо автору
 
   для: Абырвалг   (11.03.2011 в 16:13)
 

Есть 3 файла.
http://mysite/complect.html, на этой странице написана обычная HTML-форма (select). При выборе из списка происходит перехват вторым файлом JavaScript-файл, по адресу http://mysite/skins/js/chained.js, с последующей передаейа 3-му файлу ПХП-шнему, по адресу http://mysite/getcities.php. Как видно из адресов файл с HTML-формой, находятся в одной директории с ПХП-шным. Во втором файле с JavaScript прописан путь ajax[index].requestFile = 'getcities.php?proizvCode=' + proizvCode;. Вот вопрос как мне прописать путь в этом месте, чтобы ПХП-шный файл убрать в другую директорию. Например http://mysite/modules/getcities.php.

P.S. Написал что то я так что сам не разберу.

  Ответить  
 
 автор: Абырвалг   (12.03.2011 в 00:15)   письмо автору
 
   для: magic   (11.03.2011 в 23:52)
 

JS-файл http://mysite/skins/js/chained.js подключается в HTML-файл как "внешний скрипт", сиречь через инструкцию <script src="http://mysite/skins/js/chained.js"></script>?

Если Ваш ответ - "ДА", то тогда имейте в виду, что этот JS-файл может находиться ГДЕ УГОДНО, хоть на чужом сервере - все относительные ссылки внутри этого JS-файла при его подключении будут определяться относительно того HTML-файла, к которому этот JS-файл подключён.

Для Вашего случая должно быть указано:
ajax[index].requestFile = 'modules/getcities.php?proizvCode=' + proizvCode;
, так как отсчёт относительных ссылок будет идти от файла complect.html, который находится в корневой директории сайта.

  Ответить  
 
 автор: magic   (12.03.2011 в 00:44)   письмо автору
 
   для: Абырвалг   (12.03.2011 в 00:15)
 

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

  Ответить  
 
 автор: Абырвалг   (12.03.2011 в 00:58)   письмо автору
 
   для: magic   (12.03.2011 в 00:44)
 

>"в файле javascript естественно делаю поправку на адрес как Вы написали"

Вы о чём?
Я такой ХЕРНИ не писал.

Наоборот, я написал, что НЕВАЖНО - где будет находиться JS-файл.
Вы можете таскать его по любым директориям сайта БЕЗО ВСЯКИХ изменений В НЁМ.

Неужели не поняли?

Поясняю примером:
Пусть у Вас есть HTML-файл под названием test.html, который находится в корневой директории сайта. И пусть там же (в корневой директории) имеется папка IMAGES, где имеется нужная Вам картинка picture2.jpg:
<html>
<head>
<script>
function myFunc (x)
{
x.src = 'images/picture2.jpg';
}
</script>
</head>
<body>
<img src="images/picture1.jpg" onclick="myFunc (this)">
</body>
</html>

Вы можете выделенное жирно записать отдельным JS-файлом - КАК ЕСТЬ, безо всяких изменений и поместить КУДА УГОДНО. А потом изменить место размещения - в другую подпапку другой папки... А потом - снова изменить местоположение... И так - МИЛЛИОН МИЛЛИОНОВ РАЗ.

JS-код этого файла при изменении его месторасположения меняться НЕ ДОЛЖЕН.

Будет меняться только путь, когда Вы этот JS-файл будете подключать в теге <script src="изменения ТОЛЬКО ЗДЕСЬ"></script>

  Ответить  
 
 автор: magic   (12.03.2011 в 01:56)   письмо автору
 
   для: Абырвалг   (12.03.2011 в 00:58)
 

Так вот и я Вам об этом. Пусть у Вас есть HTML-файл под названием test.html, который находится в корневой директории сайта. И пусть там же (в корневой директории) имеется папка IMAGES, где имеется нужная Вам картинка picture2.jpg. И Вы пишите: 'images/picture2.jpg'

<html> 
<head> 
<script> 
function myFunc (x) 

x.src = 'images/picture2.jpg'

</script> 
</head> 
<body> 
<img src="images/picture1.jpg" onclick="myFunc (this)"> 
</body> 
</html>

Но если Ваша картинка picture2.jpg находится в одной директории с test.html, то Вы напишите так:

<html> 
<head> 
<script> 
function myFunc (x) 

x.src = 'picture2.jpg'

</script> 
</head> 
<body> 
<img src="images/picture1.jpg" onclick="myFunc (this)"> 
</body> 
</html>

Я прав? Если да то тогда вопрос. Почему 'picture2.jpg' работает, а когда делаем вот так 'images/picture2.jpg' не работает. Файл естественно перемещаем тоже picture2.jpg

  Ответить  
 
 автор: Абырвалг   (12.03.2011 в 02:42)   письмо автору
 
   для: magic   (12.03.2011 в 01:56)
 

>"Почему 'picture2.jpg' работает, а когда делаем вот так 'images/picture2.jpg' не работает. Файл естественно перемещаем тоже picture2.jpg"

Если относительный путь к картинке указываете ПРАВИЛЬНО, то всё будет работать.
А если не работает - значит, что-то в относительном пути указали неверно.
Других вариантов НЕТ и БЫТЬ НЕ МОЖЕТ.
Раз у Вас не работает - значит, лично Вы где-то "накосячили" и не надо искать чего-то такого особо-необычного.
-----

Для проверки Вам НИКТО не мешает вместо Вашего ajax[index].requestFile = 'modules/getcities.php?proizvCode=' + proizvCode; написать, например, "тестовое" изменение какой-либо картинки страницы на тот же src='modules/getcities.php?proizvCode=' + proizvCode и затем в браузере навести мышь на эту "картинку" и, щелкнув правой её кнопкой, через контекстное меню посмотреть на "свойства" этой "картинки" - там будет указан её абсолютный URL. Таким образом Вы свою ошибку и увидите.

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

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