[PHP] avatar codici non funzionano

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Salve a tutti,

So che l'argomento c'è però purtroppo benchè sia stato trattato proprio da me, i codici che ho visto non funzionano. Il problema è che devo caricare delle immagini con le seguenti estensioni: *.jpeg, *.png, *.bmp, *.gif e dovrebbero essere salvate nel db, ovviamente non l'immaine perchè occupa un botto però il suo link. Qualcuno mi può aiutare ???? Posso anche ripostare i vecchi codici che avevo ma ho già paura di fare con questo argomento crossposting (si chiama così ???). Quindi vi prego ai moderatori di non penalizzarmi e sopratutto se è possibile di non cancellare l'argomento in quanto sto combattendo da giorni a fare funzionare anche quello vecchio ma non va. Grazie della vostra collaborazione. E scusatemi in anticipo per la ripetizione dell'argomento.
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
40
come da titolo per poter espletare la tua richiesta avremmo bisogno di verificare quali sono i codici non funzionanti.
Attendiamo tue.
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Questo è l'upload dell'immagine ma pare che non carichi niente. mi ricordo che funzionava (quando mi avevate aiutato qualche anno fa).

PHP:
require_once("db_connect.php");

//#se non esistono delle cartelle le creo
if(!file_exists('img_temp'))
{
    mkdir('img_temp/',0777);
}
if(!file_exists('immages'))
{
    mkdir('immages/',0777);
}
///inizializziamo il messaggio
$messaggio = " ";
// estensioni ammesse
$estensioni = array("jpg", "png", "bmp", "pdf");
// percosrso destinazione immagini la cartella deve esistere e il percorso deve essere corretto
$dir = getcwd() . "/immages";
// verifichiamo che sia stato premuto il submit
if (isset($_POST['upload']) && $_POST['upload'] == "Carica immagine") {
    // recuperiamo e uniamo le informazionei sulle immagini
    $infoimages = array_combine($_FILES["image"]['name'], $_FILES["image"]['tmp_name']);
    // scorriamo l'array
    foreach ($infoimages as $k => $v) {
        // nome del file
        $nomefile = strtolower($k);
        // recuperiamo l'esensione
        $estensionefile = pathinfo($nomefile, PATHINFO_EXTENSION);
        // controlliamo il tipo immagine
        if (in_array(strtolower($estensionefile), $estensioni)) {
            // controllo caricamento
            if (is_uploaded_file($v)) {
                // spostiamo il file nella cartella immagini
                if (!move_uploaded_file($v, "$dir/$nomefile")) {
                    $messaggio = "Impossibile spostare il file";
                } else {
                    $messaggio = "Immagini/e caricata e memorizzata con successo";
                   // $q_i = mysql_query("INSERT INTO immagine(immagine,id_nome) VALUES('$nomefile','$id_nome'))");
                 
                    //$query = mysql_query("INSERT INTO immagine(immagine,id_nome) VALUES('$nomefile','$id_nome')");
                   
                    $query = "INSERT INTO immagine(immagine,id_nome) VALUES ('$nomefile',".$_SESSION['id'].")";
                   
                    mysql_query($query);

                }
            } else {
                $messaggio = "Errore nell'upload del file.";
            }
        } else {
            $messaggio = "Tipo immagine non consentito";
        }
    }
}
?>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Carica immagini</title>
        <style>
            .thumb {
                width:96px;
                height:96px;
                margin:0 5px;
            }
        </style>
    </head>
    <body>
        <form enctype='multipart/form-data' method='post' action='<?php echo $_SERVER['PHP_SELF'] ?>'>
            <p><?php echo $messaggio ?></p>
            <p>Selezione una o piu immagini: </p>
            <!-- Campo file di nome "image" -->
            <p><input name="image[]" type="file" size="40" multiple="multiple"/></p>          
            <!-- Pulsante -->
            <p><input name="upload" type="submit" value="Carica immagine" /></p>
        </form>
        <p>Immagini caricate</p>
        <?php
        // indico il percorso della cartella
        $d = dir(getcwd() . "/immages");
        //ciclo il contenuto
        while ($entry = $d->read()) {
            if ($entry != "." && $entry != "..") {
                // se non è un altra cartella
                if (!is_dir("immages/" . $entry)) {
                    // mostro l'immagine
                    echo "<img class='thumb' src='immages/" . $entry . "' alt='immages'/>";
                }
            }
        }
        $d->close();
?>

E questo è il codice per caricare l'immagine:

PHP:
<!DOCTYPE html>

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <form method="post" action="addavatar2.php" enctype="multipart/form-data">
    <input type="file" name="miofile">  
    <input type="submit" value="Upload">
</form>
        <?php
        require_once("db_connect.php");
        ?>
    </body>
</html>

Due cose che porto all'attenzione:

1) La cartella contenente l'immagine si chiama "avatar";

2) Se fosse possibile visualizzare solo le immagini

Questi sono gli errori che mi da:

Warning: mkdir(): Permission denied at line 15 in file addavatar.php
Warning: mkdir(): Permission denied at line 19 in file addavatar.php

La cartella è già stata creata. Grazie. Mi sono accorto che ci sono altri due errori:

Warning: dir(/volume1/web/utenti/prova2/immages): failed to open dir: No such file or directory in /volume1/web/utenti/prova2/addavatar2.php on line 88
Fatal error: Call to a member function read() on boolean in /volume1/web/utenti/prova2/addavatar2.php on line 90
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
40
mi spieghi perchè hai richiamato nell'html il db_connect.php ?
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
40
ecco a te quello che cerchi clicca qui
Questo è il codice gemello di quello che hai incollato
ovviamente non richiamare il db nell'html.
Segui passo per passo quelle istruzioni.
Solo dopo aver capito dove stai sbagliando interveniamo.
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Salve a tutti,

Come promesso finalmene ho potuto testare il codice che mi avete passato. Il mio era decisamente incasinato. Però non carica niente. partiamo con ordine. innanzi tutto non mi da nessun errore e questo è una cosa buona e giusta, nel momento in cui vado a carica l'immagine e la seleziono mi dice "nessuna immagine selezionata". Questo è il codice:

upload.php

PHP:
<!DOCTYPE html>

<html>
    <head>
        <meta charset="UTF-8">
        <title>Carica Immagine</title>
        <style>
            .thumb {
                width:96px;
                height:96px;
                margin:0 5px;
            }
        </style>
    </head>
    <body>
               
        <form enctype='multipart/form-data' method='post' action='<?php echo $_SERVER['PHP_SELF'] ?>'>
            <p><?php echo $messaggio ?></p>
            <p>Selezione immagine: </p>
            <!-- Campo file di nome "image" -->
            <p><input name="image" type="file" size="40" enctype='multipart/form-data'/></p>           
            <!-- Pulsante -->
            <p><input name="upload" type="submit" value="Carica immagine" /></p>
        </form>
        <p>Immagini caricate</p>

        <?php
        // put your code here
        ?>
    </body>
</html>

Questo è addavatar.php

PHP:
<!DOCTYPE html>

<html>
    <head>
        <meta charset="UTF-8">
        <title>Aggiungi Avatar</title>
    </head>
    <body>
        <?php
        require_once("db_connect.php");
///inizializziamo il messaggio
$messaggio = " ";
// estensioni ammesse
$estensioni = array("jpg", "png", "bmp", "pdf");
// percosrso destinazione immagini la cartella deve esistere e il percorso deve essere corretto
$dir = getcwd() . "/avatar";
// verifichiamo che sia stato premuto il submit
if (isset($_POST['upload']) && $_POST['upload'] == "Carica immagine") {
    // nome del file
    $nomefile = strtolower($_FILES["image"]["name"]);
    // recuperiamo l'esensione
    $estensionefile = pathinfo($nomefile, PATHINFO_EXTENSION);
    // controlliamo il tipo immagine
    if (in_array(strtolower($estensionefile), $estensioni)) {
        // controllo caricamento
        if (is_uploaded_file($_FILES["image"]["tmp_name"])) {
            // spostiamo il file nella cartella immagini
            if (!move_uploaded_file($_FILES["image"]["tmp_name"], "$dir/$nomefile")) {
                $messaggio = "Impossibile spostare il file";
            } else {
                $messaggio = "Immagine caricata e memorizzata con successo";
                $q_i = mysql_query("INSERT INTO photo(immagine) VALUES('$nomefile')");
//                var_dump($q_i);
            }
        } else {
            $messaggio = "Errore nell'upload del file.";
        }
    } else {
        $messaggio = "Tipo immagine non consentito";
    }
}

// indico il percorso della cartella
// Questo è il terzo file che non viene chiamato in nessun modo. Quindi  ho pensato
//  di metterlo di seguito

$d = dir(getcwd() . "/avatar");
//ciclo il contenuto
while ($entry = $d->read()) {
    if ($entry != "." && $entry != "..") {
        // se non è un altra cartella
        if (!is_dir("/avatar" . $entry)) {
            // mostro l'immagine
            echo "<img class='thumb' src='img/" . $entry . "' alt='img'/>";
        }
    }
}
$d->close();

        ?>
    </body>
</html>

Questo è il risultato finale.

Nessun_file_selezionato.png

Mi sapreste spiegare il perchè ??? Ah un ultima cosa la tabella.

Tabella: photo

PHP:
create table photo (
   
id            INT(11) NOT NULL AUTO_INCREMENT,
photo      VARCHAR(255) NOT NULL,
PRIMARY KEY (id);
);
 
Discussioni simili
Autore Titolo Forum Risposte Data
max1974 [PHP] Avatar PHP 2
H cancellare avatar in codice PHP PHP 2
P [PHP] Modifica dell'immagine avatar PHP 41
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0

Discussioni simili