-
upload di immagini
salve a tutti...
ho fatto una pagina dando la possibilità agli utenti di fare l'upload di alcune immagini...
vi mostro il codice.
Codice PHP:
<?
$dimensione_massima=1890200; //dimensione massima consentita per file in byte -> 1024 byte = 1 Kb
$dimensione_massima_Kb=$dimensione_massima/1024;
$cartella_upload="public/"; //cartella in cui eseguire l'upload (controllare permessi scrittura)
// percorso cartella relativo $cartella_upload="../public/";
$filtrare=1; //filtrare x estensioni ammesse? 1=si 0=no
$array_estensioni_ammesse=array('.jpg','.jpeg','.gif','.png'); //estensioni ammesse
if(!isset($_FILES['file1']) || $_FILES['file1']['size']==0){
echo "Nessun file selezionato per l'upload";
}elseif($_FILES['file1']['size']>$dimensione_massima){
echo "Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb";
}else{
$nome_file=$_FILES['file1']['name'];
$errore="";
if($filtrare==1){
$estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, ".")));
if(!in_array($estensione,$array_estensioni_ammesse)){
$errore.="Upload file non ammesso. Estensioni ammesse: ".implode(", ",$array_estensioni_ammesse)."<br/>";
}
}
if(!file_exists($cartella_upload)){
$errore.="La cartella di destinazione non esiste</br>";
}
if($errore==""){
if(move_uploaded_file($_FILES['file1']['tmp_name'], $cartella_upload.$_FILES['file1']['name'])){
chmod($cartella_upload.$_FILES['file1']['name'],0777); //permessi per poterci sovrascrivere/scaricare
echo "Operazione eseguita con successo. Upload riuscito.";
}else{
echo "Impossibile effettuare l'upload del file";
}
}else{
echo $errore;
}
}
function elencafiles($dirname){
$arrayfiles=Array();
if(file_exists($dirname)){
$handle = opendir($dirname);
while (false !== ($file = readdir($handle))) {
if(is_file($dirname.$file)){
array_push($arrayfiles,$file);
}
}
$handle = closedir($handle);
}
sort($arrayfiles);
return $arrayfiles;
}
$arrayfile=array();
$arrayfile=elencafiles("public/");
for($a=0;$a<count($arrayfile);$a++){
echo "<a href='public/".$arrayfile[$a]."'>".$arrayfile[$a]."</a>";
}
?>
ora quando finisce di fare l'upload mi mostra i link delle immagini e cliccandoci sopra riesco a visualizzarle..
come posso fare per visualizzare direttamente le immagini al posto dei link?
-
Sostituisci:
Codice PHP:
echo "<a href='public/".$arrayfile[$a]."'>".$arrayfile[$a]."</a>";
Con
Codice PHP:
echo "<img src='public/".$arrayfile[$a]."'>";
Ciao!
-
grazie mille!
ho risolto ..
comunque già che ci sono volevo chiedere una cosa...
come faccio a impostare una grandezza per le immagini?perchè quando le uploado mi vengono mostrate con le dimensioni normali...come faccio a impostare per esempio che siamo tutte 100x100 px?
grazie in anticipo
-
usando il css:
Codice HTML:
<img src='url' style="width:100px;height:100px">
anche se, sarebbe più conveniente definire una classe in css e usare quella per gli attributi...
(solo per completezza), ci sarebbero i tag width e height:
Codice HTML:
<img src="url" width="100px" height="100px">
ma sono obsoleti (li sconsiglio).
p.s: in caso le immagini non siano quadrate, per non deformarle, puoi definire solo l'altezza o solo la larghezza; l'altra dimensione si definirà in automatico rispettando le proporzioni dell'immagine...
Ciao!
-
sì ma essendo il codice complesso e io alle prime armi ,non so cosa sostituire a url...
mi scusi per l'ignoranza
-
(non è necessario, per quanto mi riguarda, usare il "lei" :) )
{sul forum si da dal "tu" per parlare meglio. Spero mi sia permesso :D }
---
Dovresti capire cosa stai facendo. Il tag delle immagini è sempre quello:
Codice PHP:
echo "<img src='public/".$arrayfile[$a]."'>";
L'esempio che ho fatto, come hai notato, è in generale.
Quindi, dovresti fare:
Codice PHP:
echo "<img src='public/".$arrayfile[$a]."' style='width:100px;height:100px'>";
Ciao!
-
sì lo so dovrei sapere di più però come ho già detto ho appena cominciato il php...
-
Ciao
Ciao,
Anche io sto lavorando ora con le immagini. nel mio database, ho cinque image, chiamate Immagine1, immagine, 2 immagine3, immagine4 e immagine5. Volevo sapere come si uploadavano e poi salvarle nel database, Non ho la più pallida idea di come si faccia. mi potretsi dare una mano per favore ???? Grazie.