Porting di uno script da PHP a Ruby

Salve a tutti, innanzitutto.
Avrei una domanda da fare.

Dato questo codice PHP:

script.php

<?php header("Content-type: image/png"); include $_GET["url_of_image"] ?>

come è possibile fare una cosa del genere in Ruby?

Lo script php permette di includere dinamicamente un’immagine in una
pagina html; con questa riga di codice:

Naturalmente lo scopo di questo sistema va al di là della semplice
inclusione dell’immagine: tramite la chiamata GET e le variabili
passate, lo script.php esegue un dato processo e restituisce in base a
questo una certa immagine.
Ecco spiegata la necessità dell’inclusione dinamica.

Grazie mille :slight_smile:

name surname ha scritto:

<?php header("Content-type: image/png"); include $_GET["url_of_image"] ?>

Ecco spiegata la necessità dell’inclusione dinamica.

Io per cose così semplici continuo di solito ad usare php. Non mi piace
chiamare ruby in CGI e non me la sento di tirare uno stack rails per una
cosa così banale.

Giovanni I. wrote:

Io per cose così semplici continuo di solito ad usare php. Non mi piace
chiamare ruby in CGI e non me la sento di tirare uno stack rails per una
cosa così banale.

Capito.
Beh, penserò allora anche ad una soluzione mista Ruby-PHP :slight_smile:

Intanto apro una nuova discussione correlata a questa.
Se qualcuno ha altri suggerimenti ben venga.

Grazie.

A Giovà, de come fai te non ce ne frega un cazzo :slight_smile:

Io per fare la stessa cosa in rails faccio cosi

Nel controller metto un metodo tipo

def get_image
send_file(percorso_del_file, :filename => nome_del_file_per_il_client,
:type => ‘image/png’, :disposition => ‘attachment’)
end

E poi da una view lo richiamo con

<%= link_to ‘scaricte sta bella foto’, :action => :get_image,
:controller => ‘nomecontroller’ %>

Beeella
jeko

Il giorno lun, 16/07/2007 alle 15.02 +0200, name surname ha scritto:

questo una certa immagine.
Ecco spiegata la necessità dell’inclusione dinamica.

Grazie mille :slight_smile:

Non te lo consiglio assolutamente ma sarebbe una cosa del genere:

#!/usr/bin/ruby

require ‘cgi’
c = CGI.new

puts “Content-type: image/png”
puts

f = File.open(c.params[‘url_of_image’].to_s)

puts f.read

P.S.

occhio che il tuo script php e’ abbastanza pericoloso se e’ attivo il
flag allow_url_include in php5 o allow_url_fopen in php4:

Hehe se fossi ignorante come la trippa e i bucatini cacio e pepe
dovresti pure starmi alla larga visto l’effetto che ti fanno :slight_smile:

Ad ogni modo, ho omesso un dettaglio

La url di scaricamento si puo chiamare anche al di fuori di rails
facendo una route del tipo

map.connect ‘download/image/:filename’,
:controller => ‘download’, :action => ‘get_image’, :filename => /.*/

E poi richimandola con

http://sitorails/download/image/image.png

jeko

Ma presuppone che ci debba essere un’app rails in sottofondo :slight_smile:
Dai riprovaci!

Ah dimenticavo, quoti male :wink:

Stefano G. ha scritto:

A Giovà, de come fai te non ce ne frega un cazzo :slight_smile:

Sei volgare come la coda alla vaccinara :slight_smile:

Io per fare la stessa cosa in rails faccio cosi

Ah stavamo parlando di rails? Non me ne ero accorto :slight_smile:

Lol

Non so come quotare peggio sennò lo farei solamente per indispettirti (come
se te ne fregasse qualcosa, poi :slight_smile: )

Ad ogni modo, si, presupponevo che ci fosse rails. Ti stavo anche
rispondendo GAC, elegante acrostico per “grazie al cazzo!” ma non voglio
trascinare questa ML nel baratro della becera volgarità, anche se ci
starebbe tutta perché qui ce so 40 gradi e ho già visioni mistiche di
Madonne col piumone che gridano “quanno che mori fatte seppellì un
costumino leggero perché te qui al freschetto in paradiso me sa che nun ce
Sali popo” :slight_smile:

jeko

Stefano G. ha scritto:

Lol
Non so come quotare peggio sennò lo farei solamente per indispettirti (come se te ne fregasse qualcosa, poi :slight_smile: )

No, è che mi son visto perso ed allora ho giocato la carta “quoti male” :slight_smile:

Non me ne frega niente infatti :wink:

Ad ogni modo, si, presupponevo che ci fosse rails. Ti stavo anche rispondendo GAC […]

Cmq neanche nei miei incubi peggiori mischierei rails e php, ma se devo
solo fare una piccola app per includere immagini al volo, rails mi
sembra esagerato, e php e più che adeguato al lavoro.

Beh, del resto io la farei in aspx quindi resto peggio io :slight_smile:

J.

Ragazzi, a Rails ancora non ci sono arrivato :slight_smile:
Comunque vi ringrazio,
e ringrazio Roberto per l’esempio. Comunque non ti preoccupare, tra le
variabili passate tramite GET nessuna contiene in realtà un url o
qualcosa di sensibile: ho fatto questo esempio solo per semplificare il
tutto e mostrare lo scopo ultimo, ma in realtà non è così :wink:

Per quanto riguarda l’inclusione dinamica di un’immagine, me la
sconsigli o era sempre per il fatto dell’url?

Roberto De Ioris wrote:

Il giorno lun, 16/07/2007 alle 17.26 +0200, name surname ha scritto:

Ragazzi, a Rails ancora non ci sono arrivato :slight_smile:
Comunque vi ringrazio,
e ringrazio Roberto per l’esempio. Comunque non ti preoccupare, tra le
variabili passate tramite GET nessuna contiene in realtà un url o
qualcosa di sensibile: ho fatto questo esempio solo per semplificare il
tutto e mostrare lo scopo ultimo, ma in realtà non è così :wink:

Per quanto riguarda l’inclusione dinamica di un’immagine, me la
sconsigli o era sempre per il fatto dell’url?

No in realta’ il mio era un consiglio ‘pragmatico’ del tipo: “sai farlo
in php e funziona non c’e’ motivo di rifarlo in ruby”

per’ da quello che capisco stai imparando, quindi (in tal caso) non vedo
controindicazioni, anzi :slight_smile:

Più che altro è che tutto il programma che sta alle spalle di questo
script l’ho steso in ruby, dunque desidererei completare tutto così,
anche perché scrivere lo script in php significherebbe trovare una
soluzione (abbastanza articolata a quanto mi risulta da una breve messa
a fuoco mentale) per invocare il programma in ruby e gestirne i
risultati.
E poi, da quello che mi hai fatto vedere tu, il porting è indolore, solo
qualche riga in più :slight_smile:

Comunque, tutti i file diversi da .rb si includono come mi hai fatto
vedere tu?

Un’ultima cosa, una domanda sciocca lo so, a cosa serve questa riga:
#!/usr/bin/ruby ? Perché è preceduta dal simbolo di commento? :smiley:

Il giorno lun, 16/07/2007 alle 17.26 +0200, name surname ha scritto:

Ragazzi, a Rails ancora non ci sono arrivato :slight_smile:
Comunque vi ringrazio,
e ringrazio Roberto per l’esempio. Comunque non ti preoccupare, tra le
variabili passate tramite GET nessuna contiene in realtà un url o
qualcosa di sensibile: ho fatto questo esempio solo per semplificare il
tutto e mostrare lo scopo ultimo, ma in realtà non è così :wink:

Per quanto riguarda l’inclusione dinamica di un’immagine, me la
sconsigli o era sempre per il fatto dell’url?

No in realta’ il mio era un consiglio ‘pragmatico’ del tipo: “sai farlo
in php e funziona non c’e’ motivo di rifarlo in ruby”

per’ da quello che capisco stai imparando, quindi (in tal caso) non vedo
controindicazioni, anzi :slight_smile:

Il giorno lun, 16/07/2007 alle 20.19 +0200, name surname ha scritto:

sconsigli o era sempre per il fatto dell’url?
soluzione (abbastanza articolata a quanto mi risulta da una breve messa
a fuoco mentale) per invocare il programma in ruby e gestirne i
risultati.
E poi, da quello che mi hai fatto vedere tu, il porting è indolore, solo
qualche riga in più :slight_smile:

Comunque, tutti i file diversi da .rb si includono come mi hai fatto
vedere tu?

Non e’ proprio un ‘inclusione’, e’ la semplice apertura di un file,
lettura del contenuto e stampa

Un’ultima cosa, una domanda sciocca lo so, a cosa serve questa riga:
#!/usr/bin/ruby ? Perché è preceduta dal simbolo di commento? :smiley:

E’ lo “shebang”

Serve a specificare quale applicazione invochera’ lo script (detto molto
alla carlona)

Grazie mille, davvero :slight_smile: