Я генерирую изображение, основанное на данных uri, в рамках простого скрипта php. Путь к файлу отлично работает при использовании внутри тега изображения. Я пытаюсь загрузить это изображение, используя php zip
. В настоящее время он не работает, поскольку содержимое пуста.
Работает отлично:
$image2 = "http://cdn.screenrant.com/wp-content/uploads/Star-Wars-Logo-Art.jpg";
echo file_get_contents( $image2 ); // returns content to screen
Сбой:
$image2 = "/myPath/myPath1/script.php";
echo file_get_contents( $image2 ); // nothing displayed
Если я поместил этот путь в тег изображения на экране, это прекрасно
<img src="/myPath/myPath1/script.php" />
script.php
Сценарий, используемый для создания изображения
$imgstr = "data:image/jpeg;base64,/9j/........... rest of string";
if (!preg_match('/data:([^;]*);base64,(.*)/', $imgstr, $matches)) {
die("error");
}
// Decode the data
$content = base64_decode($matches[2]);
// Output the correct HTTP headers
header('Content-Type: '.$matches[1]);
//header("Content-Type: image/jpeg"); // tried this made no difference
// Output the actual image data
echo $content;
Я все пробовал и, кажется, собираюсь по кругу. Любые советы очень приветствуются.
<img src="/myPath/myPath1/script.php" />
HTML, вызывает выполнение файла, соответствующего /myPath/myPath1/script.php
.
Файл может быть расположен где угодно на сервере, в зависимости от конфигурации apache/nginx и .htaccess
.
С другой стороны,
$image2 = "/myPath/myPath1/script.php";
echo file_get_contents( $image2 )
Пытается прочитать содержимое файла, расположенного на этом конкретном пути
Если вы хотите выполнить этот файл и знаете путь к нему:
$image2 = "/myPath/myPath1/script.php";
ob_start();
include $image2;
$contents=ob_get_clean();
string(0) ""
echo file_get_contents( $image2 )
будет отображать содержимое php-файла, а не версию, представленную сервером. Вам нужен CURL или включить./
) основаны на корне файловой системы, а не на корне веб-сервера