Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How to screw together?

5 views
Skip to first unread message

Kurt Hansen

unread,
Jan 4, 2013, 1:06:44 AM1/4/13
to
Jeg er totalt blank på php, men det skal ikke afholde mig fra at forsøge
at ændre i koden til en webshop (en modificeret udgave af osCommerce).

Jeg vil lægge billeder ud i skyen og linke dertil i stedet for til en
lokal mappe på webhotellet (don't ask right now).

I databasefeltet 'products_image' erstatter jeg 'produkter/filnavn.jpg'
med 'http://www.mediafire.com/conv/filnavn.jpg'.

I filen 'html_output.php' skal jeg så have noget fedtet ind, men her er
jeg i vanskeligheder. Det vender vi tilbage til.

I filen 'configure.php' finder jeg bl.a.a disse linjer:

define('HTTP_SERVER', 'http://www.domain.dk');
define('DIR_WS_HTTP_CATALOG', '/shop196/');
define('DIR_WS_IMAGES', 'mediafiles/images/');

Hermed har vi elementerne til den sti, hvor den kigger efter billeder,
som kan være fordelt i undermapper (se ovenstående linje 5 i denne post).

Hvis jeg åbner en vare i shoppen nu - altså uden ændringer -
højreklikker på et billeder og åbner på et ny faneblad, kan jeg se stien:

http://www.domain.dk/shop196/mediafiles/images/produkter/filnavn.jpg

Og nu står vi så over for den prustende tyr: I filen 'html_output.php'
finder jeg de relevante sted omkring linje 87:

function tep_image($src, $alt = '', $width = '', $height = '', $params =
'') {
if (!is_file($src)) {
$src = "mediafiles/images/no_image.gif";
}

// Set default image variable and code
$image = '<img src="' . $src . '"';

// Don't calculate if the image is set to a "%" width
if (strstr($width,'%') og bla-bla-bla

Her er det så Fedtmule kommer på banen. Umiddelbart efter
funktionserklæringen (eller hvad det nu hedder og før det første 'if'
har jeg forsøgt mig utallige varianter over temaet:

if (substr_count ($src, "http://")) {
$src = stristr ($src, "http://");
}

Mit sidste, vilde skud var:

if (substr_count ($src, "/shop196/mediafiles/images/produkter/http://")) {
$src = stristr ($src, "xhttp://");
}

Især den første linje er jo helt gakkelak, men jeg har snart prøvet ALT.
I den anden linje forsøger jeg at fremprovokere en fejl, så hvis
'is_file' returnerer 'false', så skriver den HVAD det er den ikke kan
finde. Ved at tilføje x'et, ville jeg kunne genkende det i outputtet.

Men nej: Uanset hvad, så VIL den bare skrive hele den basale henvisning
først:

The requested URL /shop196/mediafiles/images/http://www.mediafire.com...
... o.s.v. was not found on this server.

Nu KUNNE jeg (måske) ændre de tre nævnte linjer i konfigurationsfilen,
men det er lidt noget snavs, synes jeg og jeg kan ikke helt overskue
konsekvenserne. Det vil under alle omstændigheder betyde, at der hvor
stien anvendes, vil der konsekvent blive dirigeret til skyen i stedet
for og det kan jeg ikke lige overskue.

Nu læner jeg ikke bare tilbage og venter på, at de stegte duer flyver
ind i gabet på mig. Jeg har - efter bedste fatteevne - forsøgt at læse i
php-manualen. Her kan jeg se, at i version 5.3 er der kommet en ny
parameter: 'before_needle'.

For mig lyder det som om at det er vejen til Damaskus - altså noget med
at erstatte det der står før 'needle' erstatter man med noget andet. Jeg
ved ikke om det er rigtigt opfattet. Hvis det er løsningen, hvor
skudsikker er den så? 5.3 er jo ret ny og alle brugere skal jo gerne
kunne se mine billeder.

Hvis den der kommer med løsningen holder af klassisk musik, udlodder jeg
gerne en CD efter eget valg i vort katalog.
--
Venlig hilsen
Kurt Hansen

Leif Neland

unread,
Jan 4, 2013, 2:44:50 AM1/4/13
to
Kurt Hansen skrev den 04-01-2013:
>
> I databasefeltet 'products_image' erstatter jeg 'produkter/filnavn.jpg' med
> 'http://www.mediafire.com/conv/filnavn.jpg'.
>
> Hvis jeg ᅵbner en vare i shoppen nu - altsᅵ uden ᅵndringer - hᅵjreklikker pᅵ
> et billeder og ᅵbner pᅵ et ny faneblad, kan jeg se stien:
>
> http://www.domain.dk/shop196/mediafiles/images/produkter/filnavn.jpg
>
Hvad stᅵr der i image-taggen i "vis kilde"?

Browseren regner den fulde sti ud, nᅵr den vises.

Altsᅵ, er du pᅵ siden http://www.domain.dk/shop196/
og er taggen <img src='images/produkter/filnavn.jpg'> viser browseren
den fulde sti
http://www.domain.dk/shop196/mediafiles/images/produkter/filnavn.jpg

nᅵr du hᅵjreklikker pᅵ billedet.

Leif

--
Husk kᅵrelys bagpᅵ, hvis din bilfabrikant har taget den idiotiske
beslutning at undlade det.


Kurt Hansen

unread,
Jan 4, 2013, 3:01:26 AM1/4/13
to
Den 04/01/13 08.44, Leif Neland skrev:
> Kurt Hansen skrev den 04-01-2013:
>>
>> I databasefeltet 'products_image' erstatter jeg
>> 'produkter/filnavn.jpg' med 'http://www.mediafire.com/conv/filnavn.jpg'.
>>
>> Hvis jeg ᅵbner en vare i shoppen nu - altsᅵ uden ᅵndringer -
>> hᅵjreklikker pᅵ et billeder og ᅵbner pᅵ et ny faneblad, kan jeg se stien:
>>
>> http://www.domain.dk/shop196/mediafiles/images/produkter/filnavn.jpg

> Hvad stᅵr der i image-taggen i "vis kilde"?
>
> Browseren regner den fulde sti ud, nᅵr den vises.

Pᅵ varekortet i shoppen, er det kun en thumbnail der vises. Her er hvad
der bliver outputtet (vis kilde):

<a title="Frederick Delius: French Masterworks"
rel="lightzap[group_name]" target="_blank"
href="http://www.danacord.dk/shop196/mediafiles/images/produkter/Danacord/DACOCD
728.jpg">
<img width="201" vspace="5" hspace="5" height="200" border="0"
title="Frederick Delius: French Masterworks" alt="Frederick Delius:
French Masterworks"
src="product_thumb.php?img=mediafiles/images/produkter/Danacord/DACOCD
728.jpg&w=201&h=200">
0 new messages