2013-08-20 3 views
0

Я работаю с API Google Chart, где я конвертирую граф в изображение, а затем загружаю его в папку для загрузки. Теперь после загрузки я хочу переименовать файл изображения и переместить его в другой каталог, для которого я использую функцию 10 в PHP.Подождите несколько секунд, чтобы завершить скачивание, а затем выполнить код PHP

Теперь проблема заключается в том, что функция rename() в PHP выполняется до того, как я смогу выполнить функцию загрузки изображения (которая находится в javascript), и, следовательно, она дает мне сообщение об ошибке «Указанный файл не найден».

Я пробовал использовать функцию задержки PHP usleep() и функцию javascript setTimeOut(), а также пробовал циклы «время траты». но не имел никакого успеха. Может кто-нибудь, пожалуйста, предложите мне что-то, что я могу реализовать, чтобы выполнить это.

This is my code: 

/*Firstly there is the google line chart code */ 
In body I have: 
<script type="text/javascript"> 
onload = function download_this(){ 
    grChartImg.DownloadImage('chart_div'); 
} 
</script> 

//PHP 
<? 
$changefrom = "C:/somelocation/Downloads/download" ; 
    $changeto = __DIR__.'\mygraph'; 
    rename($changefrom, $changeto.'.png'); 
?> 

Это библиотека grchartimg, которая конвертирует и загружает графическое изображение. Я хочу переписать защиту, поэтому я использую переименование. Потому что после переименования я хочу вставить это изображение в файл PDF.

+1

Можете ли вы показать нам свой код, пожалуйста? –

+0

Почему вам даже нужно переименовывать изображение? Вам нужна какая-то защита «только один раз»? Если это так, вы должны сделать это в коде, а не переименовывать файлы. – Mario

+0

Вы можете попробовать какой-то длинный опрос, чтобы проверить статус скрипта, а затем выполнить загрузку, когда это будет сделано. –

ответ

0

Почему бы просто не использовать PHP для загрузки изображения?

download image file from given google chart api url using php

header('Content-Type: image/png'); 
header('Content-Disposition: attachment; filename="chart.png"'); 
$image = file_get_contents('http://chart.apis.google.com/chart? chs=300x300&cht=qr&chld=L|0&chl=http%253A%252F%252Fnetcane.com%252Fprojects%252Fyourl%252F3'); 
header('Content-Length: ' . strlen($image)); 
echo $image; 
+0

Я предоставляю данные через базу данных в диаграмме Google api с помощью встроенного php. Этот код хорош для загрузки изображения графика, но я не смогу предоставить данные, извлеченные из базы данных. –

Смежные вопросы