[RISOLTO]CURL e richiamo CSS,JS ecc

ivarello

Utente Attivo
14 Dic 2012
211
1
16
Ragazzi ho un piccolo problema, mi spiego, con il CURL ottengo i dati da una pagina, che ha sua volta carica dei file css e js.
Praticamente ho preso questi css e js e caricati in locale e funziona, in realtà relativamente, perchè se ipotizziamo che la mia pagina con il CURL si trova dentro a localhost/CURL/index.php, ogni volta il codice va a cercare i file js e css nella cartella localhost/111.233/.
Se fosse sempre così non c'è problema basta caricare i file in locale e creare la cartella (come ho fatto), il problema sorge perchè questa cartella a volte cambia ad esempio con 123.465 o 124.568 senza nessun criterio.
Quindi non c'è un modo per dire al mio codice che si trovano sempre in una cartella specifica del mio server?
Grazie in anticipo
 

skillsfactory

Utente Attivo
23 Nov 2012
50
0
0
forse è meglio se aggiungi qualche dettaglio in più e qualche pezzo di codice, così è davvero difficile capire cosa stai facendo...
 

ivarello

Utente Attivo
14 Dic 2012
211
1
16
Be in realtà anche se pubblico il codice ci si fa poco, perchè come spiegavo è un normale codice CURL:

PHP:
<?php
function 
curl_grab_page($url,$ref_url,$data,$login,$proxy,$proxystatus){
    if($login == 'true') {
        $fp = fopen("cookie.txt", "w");
        fclose($fp);
    }
    $ch = curl_init();
	curl_setopt($ch,CURLOPT_HTTPHEADER,array("Expect:  "));
    curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
    curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
    curl_setopt($ch, CURLOPT_TIMEOUT, 40);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    if ($proxystatus == 'true') {
        curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
        curl_setopt($ch, CURLOPT_PROXY, $proxy);
    }
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_REFERER, $ref_url);

    curl_setopt($ch, CURLOPT_HEADER, FALSE);
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    ob_start();
    return curl_exec ($ch); // execute the curl command
    ob_end_clean();
    curl_close ($ch);
    unset($ch);
}
$dt = array();
$dt['username'] = 'prova';
$dt['password'] = 'prova';

echo curl_grab_page("http://prova/login.cgi", "http://prova/login.cgi", $dt , "true",  "null", "false");
?>

come dicevo questo mi porta alla pagina dove c'è un contenuto dinamico che va a cercare i file nelle cartelle 1111.23 o 4545.29.
Quello che vorrei fare è dirgli di cercare nella cartella che dico io, tipo se cerchi prova.js la trovi qui, se cerchi main.png lo trovi qui.
Spero di essere stato chiaro :S
 

skillsfactory

Utente Attivo
23 Nov 2012
50
0
0
e mi sa allora che ti tocca parsare quello che ti arriva in risposta e sostituire i percorsi...

PHP:
$output = curl_grab_page("http://prova/login.cgi", "http://prova/login.cgi", $dt , "true",  "null", "false"); 

$output = preg_replace('/src="(http:\/\/([^\/]+)\/)?([^"]+)"/', "src=\"http://iltuosito.com/\\3\"", $output);

echo $output;
 

ivarello

Utente Attivo
14 Dic 2012
211
1
16
Grazie per l'aiuto credo che ci siamo quasi
PHP:
$output = curl_grab_page("http://prova/login.cgi", "http://prova/login.cgi", $dt , "true",  "null", "false");  
$output = preg_replace('/src="(http:\/\/([^\/]+)\/)?([^"]+)"/', "src=\"http://localhost/prova\\3\"", $output); 
echo $output;

Così facendo la pagina si comporta così (ho usato il programma fiddler per vedere come si c)
http://localhost/prova/prova.php
http://localhost/prova/111219.2045/index.js
http://localhost/prova/111219.2045/js/jquery.js
http://localhost/prova/111219.2045/images/logo.gif
http://localhost/prova/111219.2045/images/link.png

Quindi dovrei praticamente dire al codice che il file index.js, js/jquery.js, logo.gif, link.png, si trovano nella cartella
http://localhost/prova/filemisti/

Qualche idea???
 

ivarello

Utente Attivo
14 Dic 2012
211
1
16
Dato che la cartella che cambia sempre nome a la costante di avere 11 caratteri, non si potrebbe usare una specie di:

PHP:
$stringa11caratteri = 'xxxxxx.xxxx';   ( esempio di cartella 111219.2045) oppure
$stringa11caratteri = str_word_count($str, 11);  // ovviamente non è questa la giusta formula per intenderci

$output = curl_grab_page("http://prova/login.cgi", "http://prova/login.cgi", $dt , "true",  "null", "false");   
$output = preg_replace('/src="(http:\/\/([^\/]+)\/)?([^"]+'.$stringa11caratteri.')"/', "src=\"http://localhost/prova\\3\"", $output); 
echo $output;
 

skillsfactory

Utente Attivo
23 Nov 2012
50
0
0
PHP:
$output = curl_grab_page("http://prova/login.cgi", "http://prova/login.cgi", $dt , "true",  "null", "false");  
$output = preg_replace('/src="(http:\/\/([^\/]+)\/)?([^"]+)/([\d\.]{11})/(.*)"', "src=\"http://localhost/prova\\5\"", $output); 
echo $output;
 
Ultima modifica:

ivarello

Utente Attivo
14 Dic 2012
211
1
16
Grazie tante non ho fatto in tempo a scriverlo, ci sono arrivato grazie tante cmq ;)
 
Discussioni simili
Autore Titolo Forum Risposte Data
L (risolto) MySQL 0
B getElementById su piu id(Risolto) Javascript 7
L Esercitarsi con Js [RISOLTO] Javascript 4
C [RISOLTO]Inserimento variabile php in input html PHP 20
L risolto visualizzazione e ordinamento dati PHP 1
moustache [RISOLTO] SQL PHP IIS PHP 8
Sergio Unia Ricezione email con destinatari multipli [Risolto] PHP 2
L update tabelle in php mysql [risolto] PHP 6
M Semplice visualizzatore di immagini [risolto con plugin wp] PHP 7
L [RISOLTO] Stampa a video risultato count in html PHP 13
L [RISOLTO] Eliminare una discussione creata PHP 3
tomorc [HTML] Problema con scroll bar (risolto) HTML e CSS 0
A [PHP] Problema query insert [RISOLTO] PHP 14
B [PHP] recuperare IP dei server in load balancing [RISOLTO] PHP 3
K [RISOLTO] Problema Griglia Php+Mysql PHP 13
S [RISOLTO] aggiorna tabella da select option asp classic Classic ASP 7
elpirata [RISOLTO][Javascript] Datapicker e autocompletamento campo input Javascript 2
elpirata [RISOLTO][Mysql] Problema insert valori apostrofati MySQL 1
elpirata [RISOLTO][Mysql] Contare le occorrenze in un campo tipo varchar MySQL 2
G [MS Access] Gestione biglietti [RISOLTO] MS Access 2
G [MS Access] Casella combinata & Query [RISOLTO] MS Access 4
G [MS Access] Query mese corrente con conteggio [RISOLTO] MS Access 2
M [RISOLTO]Windows media player non mi funziona più su win 10 pro 64 bit Windows e Software 2
C [RISOLTO][PHP] Errore di sintassi PHP 8
IT9-Gpp [RISOLTO] Leggere variabile restituita da success Ajax 3
Kolop [RISOLTO][PHP] Problema Pagination PHP 2
C [RISOLTO][PHP] Funzione ONclick PHP 14
C [RISOLTO][PHP] Conteggio righe di una tabella PHP 4
N [PHP] Utilizzo variabili di sessione [Risolto] PHP 13
Tommy03 [RISOLTO][PHP] Webserver o devserver? PHP 2
Sergio Unia Recupero dati da una vecchia versione MySql [Risolto] MySQL 4
spider81man [PHP] Problemi cancellazione dato su DB [RISOLTO] PHP 1
A [RISOLTO]Inserimento Immagini da pc a MySql PHP 15
A [PHP] RISOLTO Invio Mail con Tabella PHP 2
felino Risolto - [Wordpress][WooCommerce] PayPal Checkout e campi di fatturazione WordPress 2
elpirata [PHP][RISOLTO] Sommare gli importi estratti da un ciclo while PHP 3
elpirata [PHP][RISOLTO] Effettuare la somma dei tempi di lavorazione PHP 3
elpirata [PHP] [RISOLTO]Sovrascrivere testo in una tabella PHP 2
A [RISOLTO]Recuperare dati inviati con json tramite php PHP 4
C [RISOLTO][PHP] Passaggio variabili senza refresh di pagina PHP 7
elpirata [PHP][RISOLTO] Errore di tipo Notice: Undefined index - Come risolvere quando si hanno tante var PHP 10
S Problema in PHP per invio file XML - RISOLTO- PHP 8
A [Javascript] [RISOLTO] Doppio "submit", in uno stesso "Form" , che puntino ad "action" diversi Javascript 1
marino51 [Risolto]videochat di messenger ha smesso di funzionare sul telefonino Smartphone e tablet 1
A [Javascript] [HTML] RISOLTO...Allungare un box all'apertura della pagina No Mouse over Javascript 9
ken_korn [Javascript][Risolto] browser.tab.Tabs.favIconUrl non funziona Javascript 5
A [RISOLTO] HighChart e PHP PHP 4
A [RISOLTO] PHP Selezionare tutti i file con stessa estensione PHP 2
A [RISOLTO] Table elaborata da codice PHP con dati da DB non visualizzata in IFRAME PHP 15
T [Photoshop] Problema creazione pennello personalizzato [RISOLTO] Photoshop 3

Discussioni simili