- Home
- Categorie
- Coding e Sistemistica
- Coding
- Salvare un'immagine con php
-
Salvare un'immagine con php
Ho un'immagine PNG nella variabile $cimg[1] che per rendervi l'idea è così: ```
�PNG IHDRPMB��sBIT��O�tEXtSoftwaregnome-screenshot��> IDATx��w|T�����-{��7RHH�$4)V
MQ�`�ӧ>�gG���( z�*5�BzO���{g��dž�$�"���Pv�9sf���93gfд�W���PV��B�!>��H� ���<���M&c�"��
S�.B�m���I�5�����G:���l|8� ���a�ex+�s��ÆO����5G�$o8� �1P�x�ҥhh�h�������,�<�So�D9lՅ�轗Ћ eccetera ecceteraVorrei sapere avendo $cimg[1] e il percorso dell'immagine come posso salvarla. Ho provato fwrite($cimg[1], $im/$id.png); imagepng($cimg[1],"$im/$id.png",9,'PNG_NO_FILTER'); ma non fungono. Come faccio a salvare questa immagine in un percorso $x? Grazie in anticipo.
-
Ciao,
non si capise cos'è che hai in $cimg[1], un percorso?
-
$cimg[1] è l'immagine completa e pronta per essere salvata (che se mostrata restituisce �PNG IHDRPMB ecc. ovviamente perché è un'immagine).
Grazie, ciao.
-
Il testo tra virgolette ```
"$im/$id.png"
-
Sì, lo so. Il fatto è che mi serve sapere quale è la funzione adatta visto che le sopra citate non fungono.
-
Il PHP è organizzato in modo da usare funzioni specifiche per salvare le immagini, nel manuale l'immagine è una risorsa, il che lascia intuire che nn è solo il contenuto vero è proprio come tu dici ma ci sono altri dati/informazioni che la compongono, questo non significa che il tuo fwrite non funzioni ma io escluderei l'uso che tu proponi.
La serie di funzioni imagepng,imagejpeg etc etc in questo caso hanno la priorita' assoluta.
Credo che la causa del non funzionamento sia da cercare nel path del file che usi per salvare.
-
Ho risolto.
Il file veniva salvato, ma poi ne veniva salvato un'altro vuoto sopra. Grazie per le informazioni.
Un'altra cosuccia, a me serve modificare$image_path = act('gif') ? IMAGE_DIR.'/images/'.@date("Y/F/d",$idate)."/{$id}_{$xdate}.gif" : IMAGE_DIR.'/images/'.@date("Y/F/d",$idate)."/{$id}_{$xdate}.jpg";con:
$image_path = act('gif') ? IMAGE_DIR.'/images/'.@date("Y/F/d",$idate)."/{$id}_{$xdate}.gif" : act('png') ? IMAGE_DIR.'/images/'.@date("Y/F/d",$idate)."/{$id}_{$xdate}.png" : IMAGE_DIR.'/images/'.@date("Y/F/d",$idate)."/{$id}_{$xdate}.jpg";solo che non funge.
Non essendo io esperto in PHP (non l'ho mai studiato) mi domando se questa è la forma corretta o se ve ne è un'altra.
Dal punto di vista logico dovrebbe essere quella sopra riportata.Grazie in anticipo.
Simone.
-
Ho risolto con gli if.
Ringrazio tutti per il supporto
Simone.
-
a questo punto ti conviene la struttura del "case" ... così se ti servono anche i .bmp non devi annidare un'altro if
-
Il fatto è che gli altri formati diversi da gif e png può benissimo trasformali in jpg. Altrimenti avrei sicuramente usato il case.
Ciao.