PHP Center
http://phpcenter.eu/
Foorumi teema printimine


Foorumid Programmeerimine PHP & MySQL Paar küsimust
Autor Postitus
mosse
PHP süsteeme orjame

Postitusi: 116
Tase: 5
Olek: Offline

03.06.2005 17:47:49
Paar küsimust

Tere, esiteks selline küsimus, mis tähendab see veateade:

Fatal error: Allowed memory size of 25165824 bytes exhausted (tried to allocate 14852 bytes) Sii on juures line 34



PHP kood:



$xmax='600';
$ymax='600';

function 
createthumb($IMAGE_SOURCE$THUMB_X$THUMB_Y$OUTPUT_FILE$KEEP_PROP)
{
  
$BACKUP_FILE $OUTPUT_FILE '_backup';
  
copy($IMAGE_SOURCE,$BACKUP_FILE);
  
$IMAGE_PROPERTIES GetImageSize($BACKUP_FILE);
  if (
$IMAGE_PROPERTIES[2] > 3)
      {
        return 
0;
      } 
  else
      {
      switch(
$IMAGE_PROPERTIES[2])
          {
            case 
'1':
                
$SRC_IMAGE ImageCreateFromGIF($BACKUP_FILE);
                break;
            case 
'2':
                
$SRC_IMAGE ImageCreateFromJPEG($BACKUP_FILE);  // 34 on siin!
                
break;
            case 
'3':
                
$SRC_IMAGE ImageCreateFromPNG($BACKUP_FILE);
                break;
            default:
                return 
0;
          }
        
$SRC_X ImageSX($SRC_IMAGE);
        
$SRC_Y ImageSY($SRC_IMAGE);
        if ((
$THUMB_Y == '0') && ($THUMB_X == '0'))
            {
                return(
0);
            }
        elseif (
$THUMB_Y == '0')
            {
                
$SCALEX $THUMB_X/($SRC_X-1);
                
$THUMB_Y $SRC_Y*$SCALEX;
            }
        elseif (
$THUMB_X == '0')
            {
                
$SCALEY $THUMB_Y/($SRC_Y-1);
                
$THUMB_X $SRC_X*$SCALEY;
            }
        
$THUMB_X = (int)($THUMB_X);
        
$THUMB_Y = (int)($THUMB_Y);
        if (
function_exists('imagecreatetruecolor'))
            {
                
$DEST_IMAGE=ImageCreateTrueColor($THUMB_X$THUMB_Y);
            } 
        else
            {
                
$DEST_IMAGE=ImageCreate($THUMB_X$THUMB_Y);
            }
        
unlink($BACKUP_FILE);
        if (!
imagecopyresized($DEST_IMAGE$SRC_IMAGE0000$THUMB_X$THUMB_Y$SRC_X$SRC_Y))
            {
                
imagedestroy($SRC_IMAGE);
                
imagedestroy($DEST_IMAGE);
                return(
0);
            }
        else
            {
                
imagedestroy($SRC_IMAGE);
                      switch(
$IMAGE_PROPERTIES[2])
                        {
                            case 
'1':
                                
$tmp ImageGIF($DEST_IMAGE,$OUTPUT_FILE);
                                break;
                            case 
'2':
                                
$tmp ImageJPEG($DEST_IMAGE,$OUTPUT_FILE);
                                break;
                            case 
'3':
                                
$tmp ImagePNG($DEST_IMAGE,$OUTPUT_FILE);
                                break;
                            default:
                                return 
0;
                        }
                if (
$tmp)
                    {
                        
imagedestroy($DEST_IMAGE);
                        return(
1);
                    }
                
imagedestroy($DEST_IMAGE);
            }
        return(
0);
    }
}




Tuleb see siis, kui formis soovitakse lisada pilti, mida neti ülesse lasta.
Kuidas sellest lahti saada, ehk kuidas kasutajad seda ei näeks?


Teiseks, kuidas lahti saada selelst et kui kasutad mingit formi ja seal posti, et kui back nuppu vajutatakse tuleb mingi kiri ette et asi on catches aegunud vms... et kuidas sellest lahti saaks?

eku001

Postitusi: 96
Tase: 4
Olek: Offline

03.06.2005 18:14:30
RE: Paar küsimust

See esimene error peaks olema sellest et see liiga suur.
Kui ma õieti arvutasin siis see oleks kõigestt 24mb.
Aga üritas saada selle jaoks ainult 14kb. Ma ei tea. MA vist ikka jagasin midagi valesti.
-EDIT-
ei ikka vastupidi. Mälu on 24mb ja üritas saada 14kb enda alla.
ma ei teagi nüüd mis see olla võiks....

Ja selle cache probleemi kohta, et ära vajuta back'i vaid, anna link sellele lehele.

mosse
PHP süsteeme orjame

Postitusi: 116
Tase: 5
Olek: Offline

03.06.2005 18:56:12
RE: Paar küsimust

ma arvan et see suuruse asi on põhjustatud selelst et see pilt mida lisati on liiga lai või pildi laiuse ja kõrguse suhe on liiga suur, kuna teised pildid lähevad läbi

backi ma ei vajutagi, aga teised kasutajad vb vajutavad

teadjamees

Postitusi: 492
Tase: 6
Olek: Offline

03.06.2005 21:39:16
RE: Paar küsimust

Kohe peale pildi laadimist võid headeritega täpselt samale lehele suunata, enne millegi kuvamist..

fax
Upsakas kontoritarve

Postitusi: 1195
Tase: 9
Olek: Offline

03.06.2005 23:50:06
RE: Paar küsimust

Em, minu meelest on veateadete lugemisoskus üks kuldaväärt oskus.. Ehk siis veateade eestikeeli: Lubatud 24MB mälu on kasutusel (proovisin hõivata veel 14KB mälu).. Mis tähendab seda, et sul on PHP's pandud mälu limiidiks 24MB ja tõrgeteta töö jaoks oleks seda vaja suurendada, või siis kuidagi oma koodis parandusi teha ja optimeerida, teine võimalus on php.ini faili näppida ja sealt keerata memory_limit parameetrit suuremaks.

mosse
PHP süsteeme orjame

Postitusi: 116
Tase: 5
Olek: Offline

04.06.2005 00:33:44
RE: Paar küsimust

Njah, juurde seda mälu kohe kindlasti ei saa [:vihastuv:] (ServeriMaailm)
Aga huvitav miks see pilt siis nii palju mälu võtab, pilt ise on ainult 100kb ringis...

uugu21

Postitusi: 380
Tase: 6
Olek: Offline

06.06.2005 11:27:56
RE: Paar küsimust

Tegemist oli vist JPG'ga, mis on pakitud formaat (nagu zip või rar tavafailide jaoks). Töötlemiseks tuleb ta lahti pakkida s.t. su 100 kb pilt saab hoobilt "pisut" teise suuruse. Salvesta see pilt bitmapiks ja vaata siis tema suurust.

hellbender

Postitusi: 437
Tase: 6
Olek: Offline

06.06.2005 11:51:54
RE: Paar küsimust

Üheks võimaluseks oleks kasutada PNG formaati...

marianne

Postitusi: 539
Tase: 7
Olek: Offline

06.06.2005 20:07:52
RE: Paar küsimust

Teiseks võimaluseks on pilt enne üleslaadimist vähendada :D, mitte halvema kvaliteediga jpg'ks, vaid vähemate pikslitega failiks, enamikus fototöötlusprogrammides Image->Resize...
Ka png ei aita sama pikslite arvu juures... sorry

andoro

Postitusi: 1235
Tase: 9
Olek: Offline

06.06.2005 20:56:19
RE: Paar küsimust

Tsiteeritud tekst:
Njah, juurde seda mälu kohe kindlasti ei saa  (ServeriMaailm)
Aga huvitav miks see pilt siis nii palju mälu võtab, pilt ise on ainult 100kb ringis...

Aga saada SM-i ja küsi järgi too asja kohta. Tasuliselt zone.ee's tehti mul küll muudatus ära kui ma tahtsin.

mhhv1459

Postitusi: 1
Tase: 1
Olek: Offline

06.06.2005 21:23:50
kurb RE: Paar küsimust

Oki..mul on väga suur küssa. Kuidas üldse PHP värki ülesse panna. Ok save'in php foorumi ära ja extractin ära. Mis edasi??????????????????????? kas ma pean kogu selle kupatuse oma zone'i ftp serverisse toppima? mida ma üldse nende failidega tegema pean...????:([:vastik:]:(

madnessx
m4d

Postitusi: 65
Tase: 4
Olek: Offline

07.06.2005 00:54:16
RE: Paar küsimust

Mingi geenius on välja ilmunud... ise ka saad aru, mis sa räägid?

marianne

Postitusi: 539
Tase: 7
Olek: Offline

07.06.2005 09:49:10
RE: Paar küsimust

Ärge karake teisele turja, näed ise, et poisil esimene postitus.
Asi on nii, et need php installikad ja failid on selleks, et saad oma arvutist serveri teha, millele lisad php toetuse, otsi siin on õpetusi ja teemasid selle kohta.
Kui sa tahad kasutada zone serverit, siis sinna sa midagi installida ei saa, php on seal juba olemas. Sina saad ainult uppida php skripte, mis võivad olla HTML failis, millele antud php laiend, nagu näiteks:
index.php
PHP kood:

<HTML>
<
HEAD>
<
TITLE>See on peaaegu tavaline HTML</TITLE>
</
HEAD>
<
BODY>
Tereminu leht<BR>
<?
// siin on php skript
echo 'Minu enda teade';
$u=array('vahelduv teade 1','vahelduv 2');
echo 
'<BR>'.$u[rand(0,count($u)-1)];
?></body>
</HTML>

Kõige olulisem asi php õppimisel on manuaal, mille leiad php.net'ist...
Kiiret taipu, ning WELCOME TO COMMUNITY