Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  PHP: ei kuva pilte ekraanile märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
Turboorav
HV vaatleja
Turboorav

liitunud: 27.05.2009




sõnum 29.05.2010 15:44:01 PHP: ei kuva pilte ekraanile vasta tsitaadiga

Selline probleem, et programm peab võtma kataloogist pildid ja kuvama need ekraanil. Kui phpdesigneriga vaadata, siis töötab. Kui vaadata IE-ga siis "png" formaat pilti millegipärast ei kuva ja Firefoxiga ei kuva ühtegi pilti. Chrome ei näita isegi tühju kaste, kus peaksid pildid olema. Milles probleem võib olla?

Screenshotid ka tulemusest http://www.dropbox.com/gallery/6392516/1/paste?h=c7e972

<?php
class DirSisu{
    private $dirAdress; //Selle php faili asukoha kataloogi aadress
    private $aadress;   //Kataloogis olevate failide massiiv
    private $dir;       //Kuvatava kataloogi täpne aadress
   
    //Konstruktor
    function __construct($kataloog){
        $this -> dirAdress = getcwd(); //Selle php faili asukoha kataloogi aadress
        $this -> dir = $this -> dirAdress.'/'.$kataloog; //Kuvatava kataloogi täpne aadress
        $this -> aadress = scandir($this -> dir); //Lisab failid massiivi 'aadress'
    }
   
    //Väljastab directori sisu ekraanile
    function valjasta (){
        for($i = 2; $i < count($this -> aadress); $i++){
            echo $this -> aadress[$i]."<br />";
        }
    }
   
    //Kuvab pildid ekraanile
    function kuvaPildid(){
         for($i = 2; $i < count($this -> aadress); $i++){
            $a = $this -> dir.'/'.$this -> aadress[$i]; //Pildi täispikk aadress
            if(!is_dir ($a)){   //Kontrollib, et kuvatakse ainult pildid mitte kataloogid
                echo "<img src='$a' width='400' hspace='20' vspace='20' align='center' />";
            }
        }
    }
}

$isend = new DirSisu('kataloog');
$isend -> valjasta();
$isend -> kuvaPildid();

?>
tagasi üles
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 29.05.2010 16:09:46 vasta tsitaadiga

pane screenshoti asemel htmli source siia üles selle vigase faili oma
_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Celos
Kreisi kasutaja
Celos

liitunud: 23.08.2005




sõnum 29.05.2010 18:07:04 vasta tsitaadiga

Sa üritad praegu HTML <img> elemendile anda ette failisüsteemi aadressi, mitte URL-i.
Kommentaarid: 16 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 15
tagasi üles
vaata kasutaja infot saada privaatsõnum
Turboorav
HV vaatleja
Turboorav

liitunud: 27.05.2009




sõnum 29.05.2010 19:06:14 vasta tsitaadiga

Hmm.. aga kas see failisüsteemi aadress siis ei meeldi talle? Sesmõttes, et kui see aadress genereeritakse dünaamiliselt, siis peaks see ju töötama ju.. Ja IE's töötab ka, ainult "png" formaati ei taha kuvada. Kas tegu ei või olla selles, et need kaldkriipsud on vahepeal teistsugused?

Source all on kõigil veebisirvikutel sama kood

20100517-141118_300C053v9Jk.jpg<br />20100523-205612_OgAAAEVOmQDxYaP7dKixmyKCNgv4VFLHZ25azBP-Udo5twcTJQavK01bQ_nB11xu8KZ9WtmEYF0GTTPCuZXxN5dxlhkAm1T1UM_pyKOpmw3Lxoj5_GHW7LfmJPN7.jpg<br />20100527-223130_pilt322.jpg<br />New folder<br />google_suggest.png<br /><img src='D:\server\www\projektPHP/kataloog/20100517-141118_300C053v9Jk.jpg' width='400' hspace='20' vspace='20' align='center' /><img src='D:\server\www\projektPHP/kataloog/20100523-205612_OgAAAEVOmQDxYaP7dKixmyKCNgv4VFLHZ25azBP-Udo5twcTJQavK01bQ_nB11xu8KZ9WtmEYF0GTTPCuZXxN5dxlhkAm1T1UM_pyKOpmw3Lxoj5_GHW7LfmJPN7.jpg' width='400' hspace='20' vspace='20' align='center' /><img src='D:\server\www\projektPHP/kataloog/20100527-223130_pilt322.jpg' width='400' hspace='20' vspace='20' align='center' /><img src='D:\server\www\projektPHP/kataloog/google_suggest.png' width='400' hspace='20' vspace='20' align='center' />

_________________
With the Faith of a mustard seed if you tell a mountain to move there it will move
tagasi üles
vaata kasutaja infot saada privaatsõnum
inzinz
HV kasutaja

liitunud: 26.01.2005




sõnum 29.05.2010 19:17:45 vasta tsitaadiga

Muuda konstruktor ära
function __construct($kataloog){
        $this -> dir = $kataloog; //Kuvatava kataloogi täpne aadress
        $this -> aadress = scandir($this -> dir); //Lisab failid massiivi 'aadress'
}


Peamise probleemi võttis juba Celos kokku: sa üritad browserile ette anda ketta peal oleva pathi. Sa pead html's kuvama sellist aadressi, mis viitab veebiserveri läbi failile: kataloog/failinimi.jpg või http://domeen/kataloog/failinimi.jpg
Ja kui tahad seda http varianti välja kuvada, siis selle domeeni pead alles kuvamisel sinna ette panema, mitte ei anna konstruktorisse ette http://domeen/kataloog

Kui see oli näpukas, siis noh ikka juhtub vahel, aga kui päriselt ei saa aru mis vahet on ketta pathi ette andmisel ja veebiserveri pathi ette andmisel IMG src'na, siis soovitaks veebi põhitõdedega veidike tutvuda enne kui edasi progeda. Põhiline asi on see, et ketta pathi ette andes näed veebilehel pilte ainult omaenda arvutis seda lehte vaadates, teistele sellist asja andes ei näe nemad midagi kuna nendel ei ole D:\server\www\... kausta koos nende piltidega oma masinas.

_________________
Upload.ee - eestimaine failiupload
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
Turboorav
HV vaatleja
Turboorav

liitunud: 27.05.2009




sõnum 29.05.2010 20:11:28 vasta tsitaadiga

Tänan selgituste eest, sain aru nüüd, mis valesti tegin, kasutasin nata valet meetodit, et saada seda aadressi.
Lisasin selle
getcwd();
asemele
$this -> dirAdress = $_SERVER["SCRIPT_NAME"];


Ja siis veel üks pisimuudatus ja asi hakkas tööle. Kuigi jah.. see osa on üldse täiesti mõttetu icon_biggrin.gif
Oleks piisanud lihtsalt kataloogi nime teadmisest, seda koguaadressi poleks üldse vaja olnud.

_________________
With the Faith of a mustard seed if you tell a mountain to move there it will move
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  PHP: ei kuva pilte ekraanile
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.