Domande su upload files

marco_rx

Utente Attivo
19 Dic 2010
129
0
0
Ciao volevo porvi due domande:
1 - Cambia qualcosa (a livello di prestazioni o simili) nel memorizzare migliaia di immagini in più cartelle o in una unica?
2 - Se in fase di upload avessi bisogno di rinominare un'immagine assegnandogli un nome univoco quale funzione potrei utilizzare?

Grazie per l'aiuto
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
A livello di prestazioni credo che se i path sono dello stesso tipo [vedi esempio] la velocità per aprire ciao.jpg è uguale a quella per aprire nuova.jpg.
(ad esempio:
1) /immagini/galleria/fotoutente/ciao.jpg
2) /immagini/galleria/foto/nuova.jpg
)
Ovvio che se una foto è situata in una cartella come nell'esempio precedente e invece per arrivare all'altra bisogna passare da 10 (si fa per dire) altre sottocartelle la velocità cala (ma a occhio nudo non credo si riesca ad accorgersene).

Per quanto riguarda il nome univoco puoi benissimo inserire un campo autoincrement nella tabella DB (se ce l'hai) dove salvi i path delle immagini che vai a controllare ed incrementare prima di rinominare l'immagine uplodata :D

spero di esserti stato utile
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
forse marco_rx intendeva con nome unico per non sovrascrivere l'immagine, in tal caso potrebbe

PHP:
<?php
//...
$nome_file="pinco_pallo.jpg";//prob. da input tipo file
$cartella="mia_cartella/";//se esiste
if(file_exists($cartella.$nome_file)){
	echo "il file esiste, scegli un altro nome";
	//....
}else{
	//uploda il file ......
}
//....
?>
 

marco_rx

Utente Attivo
19 Dic 2010
129
0
0
A livello di prestazioni credo che se i path sono dello stesso tipo [vedi esempio] la velocità per aprire ciao.jpg è uguale a quella per aprire nuova.jpg.
(ad esempio:
1) /immagini/galleria/fotoutente/ciao.jpg
2) /immagini/galleria/foto/nuova.jpg
)
Ovvio che se una foto è situata in una cartella come nell'esempio precedente e invece per arrivare all'altra bisogna passare da 10 (si fa per dire) altre sottocartelle la velocità cala (ma a occhio nudo non credo si riesca ad accorgersene).
Più o meno quello che pensavo io, ma non essendo sicuro ho preferito chiedere, grazie per la risposta :D

ciao
forse marco_rx intendeva con nome unico per non sovrascrivere l'immagine, in tal caso potrebbe

PHP:
<?php
//...
$nome_file="pinco_pallo.jpg";//prob. da input tipo file
$cartella="mia_cartella/";//se esiste
if(file_exists($cartella.$nome_file)){
	echo "il file esiste, scegli un altro nome";
	//....
}else{
	//uploda il file ......
}
//....
?>

Si ma preferivo rinominare indipendentemente dall'esistenza del file. Avevo scritto questa funzione che non dovrebbe generare una stessa stringa più di una volta, però volevo sapere se esisteva una funzione nativa di php che facesse lo stesso:

PHP:
function generate_name()
{
    $chars = 'abcdefghijklmnopqrstuvwxyz';
    $string = '';
    for ($i=0; $i<10; $i++)
    {
        $string .= substr($chars, rand(0, strlen($chars) - 1), 1);
    }

    $time = time();
    $name = '';

    for ($i=0; $i<10; $i++)
    {
        $position = substr($time, $i, 1);
        $name .= substr($string, $position, 1);
    }

    return $name;
}
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Se usi un database la cosa più pulita è inserire un contatore autoincrement e nominarle in modo crescente.
Altrimenti potresti fare come hai postato tu (la tua soluzione non è sicura al 100% ma al 99.9% in quanto è molto raro che escano due risultati esatti ma non vedo il controllo se il nuovo risultato è un nome già presente, quindi nel caso uscisse lo stesso nome combineresti qualche casino).
Rispondendo alla tua domanda non credo ci sia una funzione di php pronta per fare ciò

Borgo scusa ma spero che nella tua soluzione lo script non chieda all'utente di inserire un nuovo nome. Sarebbe molto fastidioso per l'utente (almeno per uno che pretende velocità e semplicità come me) :)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
incrementando con l'id va benissimo se uno usa un db, se non si usa, il sistema di marco_rx va appastanza bene, ma non essendo sicurissimo deve avere un controllo per non sovrascivere.
non importa che l'utente reinserisca il nome, ma la funzione che lo genera si ripete sino a che non viene generato un nome inesistente.
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Borgo, tu avevi scritto:
PHP:
 echo "il file esiste, scegli un altro nome";
Quindi credevo lo volessi chiedere all'utente. Sarebbe un suicidio per il sito...ovvio che in automatico è il modo migliore ;)
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
l'avevo fatto per semplificare
dimenticavo: per semplificare
PHP:
<?php
function genera_nome(){
	$nome="";
	for($k=0;$k<10$k++){
		$nome.=chr(rand(97,122));
	}
	return $nome;
}
?>
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
iAntis Domande per Restyling completo di un sito e nuovo Upload sul server: HELP! :/ Hosting 1
B UPLOAD Asincrono è Possibile?, (domande chiarificatrici) Javascript 0
M Visualizzare nuove domande in base a risposta precedente PHP 0
S Domande sul posizionamento SEO SEO e Posizionamento 2
K [php] due domande sulla sicurezza PHP 1
V Domande su Keywords e Focus Key SEO e Posizionamento 0
V Domande: registrazione sito fonti esterne SEO e Posizionamento 0
W Domande javascript Javascript 1
Benix89 Modulo per pagamento con la risposta ad alcune domande Magento 1
Benix89 Modulo per pagamento con la risposta ad alcune domande PHP 2
D Due domande su videocamera ip-wireless IP Cam e Videosorveglianza 1
P Problema domande duplicate per risposte multiple PHP 6
P Domande sulla sintassi corretta jQuery jQuery 8
I altre 2 domande ! HTML e CSS 6
I 2 domande HTML e CSS 5
F due domande a tutti i programmatori Javascript 1
Marcoingrande 2 domande in una! Javascript 25
filippino Domande su partizione disco fisso windows 7 Windows e Software 2
S Domande generali sull'indicizzazione SEO e Posizionamento 0
P Due domande su artisteer. HTML e CSS 0
D [RISOLTO]domande varie su creazione sito con php, mysql e phpmyadmin PHP 42
A Ciao a tutti, da oggi ci sarò anch'io... a fare domande. Presentati al Forum 1
M Domande su validare i dati inseriti dagli utenti con jQuery e PHP Javascript 1
F 3 domande per il mio nuovo sito web su Indicizzazione HTML e CSS 2
K domande php PHP 5
T ancora domande su asp Classic ASP 14
G Domande su landing page HTML e CSS 0
M Domande sull'informativa sulla privacy Leggi, Normative e Fisco 3
A HTML. Domande da principianti HTML e CSS 18
V domande x sito web con chat a pagamento HTML e CSS 0
A Questioner, social network di domande e risposte Presenta il tuo Sito 8
D Regime dei minimi: alcune domande. AIUTO! Leggi, Normative e Fisco 16
A domande varie per webdesigner Leggi, Normative e Fisco 0
B Hosting per Joomla: consigli e domande varie Hosting 0
F domande su active directory e aggiunta di pc ad una rete.. Reti LAN e Wireless 0
MarcoGrazia Quante volte ci siamo trovati innanzi alle stesse domande? Discussioni Varie 7
corkis81 Un po' di domande... HTML e CSS 10
B [Domande] Sviluppo negozio online basato su wordpress WordPress 1
A Domande su uso forum di mr. Webmaster Supporto Mr.Webmaster 0
LupoBianco [AJAX] domande da novizio Ajax 1
emanuelevt domande su php/mysql PHP 3
P Domande per quiz su software open source Presenta il tuo Sito 2
emanuelevt Domande generiche HTML e CSS 8
W Domande per Linux OS Linux e Software 4
catellostefano domande sui plugin per wordpress WordPress 6
A alcune domande su javascript Javascript 7
V Alcune semplici domande Reti LAN e Wireless 0
borgo italia alcune domande Supporto Mr.Webmaster 0
G Domande per scelta hosting Hosting 0
R Contatto FormMail in Perl domande Programmazione 1

Discussioni simili