Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> Programmazione >> PHP /MySQL Programmazione >> .

Come si inseriscono i file in un database utilizzando PHP?

`` `php

// credenziali del database

$ serverName ="localhost";

$ username ="nome utente";

$ password ="password";

$ dbname ="mydatabase";

// Crea connessione

$ Conn =new Mysqli ($ serverName, $ username, $ password, $ dbname);

// Controlla la connessione

if ($ conn-> connect_error) {

die ("connessione non riuscita:". $ Conn-> connect_error);

}

// Dettagli di caricamento del file

$ target_dir ="uploads/";

$ target_file =$ target_dir. basename ($ _ files ["filetoupload"] ["nome"]);

$ uploadok =1;

$ ImageFileType =StrTOLower (pathInfo ($ target_file, pathinfo_extension));

// Controlla se il file di immagine è un'immagine effettiva o un'immagine falsa

if (ISSET ($ _ POST ["Invia"]) {

$ check =getImageSize ($ _ files ["FileToupload"] ["tmp_name"]);

if ($ check! ==false) {

Echo "Il file è un'immagine -". $ check ["mime"]. ".";

$ uploadok =1;

} altro {

echo "Il file non è un'immagine.";

$ uploadok =0;

}

}

// controlla se il file esiste già

if (file_exists ($ target_file)) {

echo "scusa, il file esiste già.";

$ uploadok =0;

}

// Controlla la dimensione del file

if ($ _files ["FileToupload"] ["dimensione"]> 500000) {

echo "Mi dispiace, il tuo file è troppo grande.";

$ uploadok =0;

}

// Consenti determinati formati di file

if ($ ImageFileType! ="JPG" &&$ ImageFileType! ="Png" &&$ ImageFileType! ="JPEG"

&&$ ImageFileType! ="GIF") {

Echo "Sormati, sono consentiti solo i file JPG, JPEG, PNG e GIF.";

$ uploadok =0;

}

// controlla se $ uploadok è impostato su 0 con un errore

if ($ uploadok ==0) {

echo "Mi dispiace, il tuo file non è stato caricato.";

// Se tutto è ok, prova a caricare il file

} altro {

if (move_uploaded_file ($ _ files ["filetoupload"] ["tmp_name"], $ target_file)) {

Echo "il file". basename ($ _files ["filetoupload"] ["nome"]). "è stato caricato.";

// Inserisci i dettagli del file nel database

$ fileName =basename ($ _ files ["filetoupload"] ["nome"]);

$ file_path =$ target_file;

$ sql ="Insert in files (fileName, file_path) valori ('$ nome file', '$ file_path')";

if ($ conn-> query ($ sql) ===true) {

echo "nuovo record creato correttamente";

} altro {

Echo "Errore:". $ SQL. "
". $ Conn-> Errore;

}

} altro {

echo "Mi dispiace, c'è stato un errore di caricare il tuo file.";

}

}

$ Conn-> chiust ();

?>

`` `

Spiegazione:

1. Impostazione del database:

- Stabilisci una connessione al tuo database MySQL utilizzando l'estensione `mysqli`.

- Sostituisci segnaposto come `nome utente`,` password` e `myDatabase` con le credenziali effettive del database.

2. Gestione del caricamento del file:

- Utilizzare l'array superglobal `$ _files` per accedere alle informazioni sul file caricato.

- Imposta una directory target (`$ target_dir`) in cui il file verrà salvato.

- Eseguire la convalida di base:

- Controlla se il file caricato è un'immagine effettiva (usando `getImageSize`).

- Controlla se il file esiste già nella directory di destinazione.

- Controllare se la dimensione del file è nei limiti consentiti.

- Consenti solo determinati formati di file (ad es. JPG, PNG, GIF).

3. Archiviazione di file:

- Se la convalida passa, utilizzare `move_uploaded_file` per spostare il file caricato temporaneo nella directory di destinazione.

4. Inserimento del database:

- Dopo aver memorizzato correttamente il file, preparare una query SQL per inserire le informazioni sul file nel database.

- Questo in genere include il nome file e il percorso del file.

- Utilizzare il metodo `$ Conn-> query` per eseguire la query SQL.

Note importanti:

- Sicurezza: Convalidare sempre gli input dell'utente e i caricamenti di file per prevenire vulnerabilità di sicurezza come attacchi XSS o iniezione di file.

- Tabella del database: Assicurati di avere una tabella di database adatta per archiviare le informazioni sui file (ad es. Tabella `Files` con colonne come` fileName`, `file_path`,` file_size`, ecc.).

- Gestione degli errori: Gestire potenziali errori durante il caricamento dei file e l'inserimento del database. Visualizza messaggi appropriati all'utente.

- Limiti della dimensione del file: Prendi in considerazione l'impostazione dei limiti di dimensione del file appropriati per impedire il sovraccarico del server.

- Tipi di file: È possibile modificare i tipi di file consentiti in base ai requisiti dell'applicazione.

- Signitizzazione dei dati: Sanitare il nome del file e altri dati prima di memorizzarlo nel database per prevenire gli attacchi di iniezione di SQL.

- File di grandi dimensioni: Per la gestione di file di grandi dimensioni, considerare l'utilizzo di tecniche come il chunking o lo streaming carichi.

Ricorda di adattare questo frammento di codice ai requisiti specifici dello schema e del caricamento del database e dei file.

 

Programmazione © www.354353.com