У меня есть 3 файла, один index.php, один instapic.php и один instapic.sh Предполагается, что php выполняет sh для отображения изображения, но он не будет работать, когда он находится на "индексном" сайте, он работал раньше, когда он был направлен на /instapic.php, но я хочу, чтобы он отображался на главной странице индекса.

<html>
<head>
<style>
div {
font family: Ubuntu;
background-color: #F2F2F2;
}
</style>
</head>
<body>
<div>
<h1> <center> Instagram Full Size Profile Picture </center> </h1>
</div>
<center>
<form action="" method="get">
Enter Instagram Username: <input type="text" name="input">
<input type="submit" value="View">
</form>
</center>
</body>
<?php
$name = $_REQUEST['input'];
echo $name;
echo "<br>";
$output = shell_exec("/var/www/html/instapic.sh $name");
echo "<img src=$output>";
?>

-

#!/bin/bash
NAME=$1
#curl -s https://www.instagram.com/$NAME/ | grep image | grep fbma | sed 's,s150x150/,,g' | cut -f 4 -f '"'
curl -s https://www.instagram.com/$NAME/ | grep "og:image" | sed 's,s150x150/,,g' | cut -f 4 -f '"'
1
LOGH17 22 Ноя 2017 в 22:37

1 ответ

Лучший ответ

Для этого вам нужно добавить PHP-код в свой индекс и просто отправить форму на ту же страницу. Если вы не хотите перезагружать страницу каждый раз, когда вам нужно отправить вызов ajax. Это могло быть решение (совсем не лучшее):

Включите это в начало файла index.php:

<?php 
  if(isset($_REQUEST['input'])) {
    $name = $_REQUEST['input'];
    $output = shell_exec("/var/www/html/instapic.sh $name");
  }
>

И включите это там, где вы хотите отображать изображения:

<?php
  if(isset($output)) {
    echo "<img src=$output>";
  }
>

Также не забудьте добавить "index.php" в атрибут действия формы.

1
Quentin Benyahia 22 Ноя 2017 в 20:05