Как получить доступ к PHP-методам внутри Javascript?

Я создал метод, который удалит файл. сначала я повторяю URL-адрес этого файла. как это

echo "<a href='$fulr'>$filename</a>"; 

теперь basicaly я хочу вызвать функцию deletefile($file); как я могу это сделать так

 echo "<a onclick='$this->deletefile($filename)' href='$fulr'>$filename</a>"; 

это даже возможно?

Или как я могу реализовать что-то похожее внутри php-кода?

Кажется, у вас неправильное представление о связи между браузером и сервером. Вам нужно либо сделать:

 <?php ... printf("<form name=\"delfilefrm\" action=\"delfile.php\" method=\"POST\"> <input type=\"hidden\" name=\"delfile\" value=\"%s\" /> <input type=\"submit\" value=\"Delete %s\" /> </form>", $filename, $filename); ... ?> 

На сервере, так что ссылка идет на скрипт на сервере или использует JavaScript. Я бы рекомендовал использовать функцию post () jQuery или аналогичную функцию AJAX:

 $.post("delfile.php", { file: \"$filename\" } ); 

Помните: безопасность, безопасность, безопасность … затем грациозная деградация

И спасибо waiwai933, Дэвид Дорвард за то, что он позволил мне «увидеть лес для деревьев» на фундаментальной точке, быстро забытой.

В этом случае PHP работает на веб-сервере и отправляет некоторый вывод в браузер.

Затем браузер обрабатывает этот вывод как JavaScript.

Нет прямого доступа к PHP. Вы должны отправить HTTP-запрос обратно на сервер.

Это может быть простая ссылка (но не делайте этого для операции с файлом удаления, операции GET должны быть безопасными (или бот будет ходить по вашему сайту и удалять все), форму или если вы действительно хотите задействовать JavaScript – XHR (или какой-либо другой объект, который можно использовать для выполнения Ajax). Библиотеки, такие как YUI или jQuery, могут помочь вам в тяжелом подъеме.

В любом случае (форма или Ajax) вы, вероятно, в конечном итоге поместите данные о том, какой файл вы хотите удалить в данных POST. Ваш PHP-скрипт будет читать это (от $_POST и вызывать $_POST функцию).

… и если вы идете по маршруту Ajax, не забудьте опираться на все, что работает .

Вы не можете вызвать PHP-код из своего Javascript.

То, что вы МОЖЕТЕ сделать (при условии, что это происходит на веб-сервере), поместите GET / POST в PHP-скрипт, передавая любые необходимые параметры, для выполнения правильного PHP-метода.

Изнутри PHP это немного проще. Если вы выплевываете HTML, вы можете добавить узел сценария для вызова функции Javascript (или просто запустить Javascript).

Вы не можете сделать это таким образом, потому что javascript не может выполнить php-код, и вы не можете удалить файл с помощью javascript, поэтому я думаю, что вы должны сделать что-то вроде этого:

 if(isset($_GET['delete'])) unlink($_GET['delete']); .... echo "<a href='".__FILE__."?delete=$fulr'>$filename</a>"; 

Вы можете сделать это:

php: позволяет называть его deletefile.php

 <? $file = $_POST['filename']; deletefile($file); ?> 

JQuery:

 $('a').click(function(){ $.ajax({ method: 'POST', url: 'deletefile.php', data: "filename=" + $(this).text(), success: function(data) { alert('File deleted.'); } }); return false; }); 

HTML:

 <a href="#" >filename<a/> <!-- filename is the name of your file... --> 

Вы не можете вызвать PHP-код из своего Javascript.

но вы можете использовать xajax для этого

или проверить этот пост . это будет лучшим решением, используя ajax

Если вы хотите вызвать функции PHP из Javascript, то это примерно так же близко, как вы можете получить: http://www.phplivex.com/

Я использовал эту библиотеку много раз, и мне это очень нравится.