• Home
  • Forum
  • Fare Web
  • PHP

mancato upload

  • Creatore Discussione Creatore Discussione helpdesk
  • Data di inizio Data di inizio 7 Nov 2009
Prec.
  • 1
  • 2
  • 3
Primo Prec. 3 di 3

helpdesk

Utente Attivo
30 Set 2009
726
0
16
Pesaro
  • 11 Nov 2009
  • #41
ciao alessandro.
Allora per prima cosa grazie per la risposta.
I commenti della riga del ciclo while avrebbero dato problemi o ne darebbero se usassi lo script con i commenti ma non amo farlo e quelli li ho messi solo per tentare di spiegarmi meglio comunque chiedo venia per l'errore .
Per quanto riguarda la connessione mi funziona benissimo e non ho capito dove sia l'errore comunque lo guarderò attentamente comparandolo con il tuo script.

Citando le tue parole:

"Sempre nel ciclo while definisci come array che ogni volta dovrà contenere la riga del database $mn, ma quando si tratta di assegnare il valore ad $n ti riferisci a $memoria."

nel ciclo while non dichiaro un array che dovrà contenere una riga del database o nella fattispecie $mn "variabile" poichè è un mio errore è semplicemente una variabile al volo che contiene l'array dell'id preso dal database infatti avrei potuto dichiarare anche:

while ($n=mysql_fetch_array($sql)){
$n[]=$memoria['id_prodotto'];
}

sempre citando le tue parole:

Ancora una volta nel ciclo while, quando selezioni i dati dal database specifichi che deve essere selezionato solamente il campo immagine, quindi nell'array non sarà contenuto il valore id_prodotto.

Infatti l'array contiene seplicemente il conteggio di un numero progressivo di immagini scritte nel database a partire da 1 e ricavate dall'id, non contiene e non deve contenere l'id, altrimenti come ha giustamente fatto notare borgo italia, non sarebbe stato un array sensibile di incremento e decremento ma un valore numerico statico capace di dare tre all'immissione di 3 immagini ma quando si elimina una sola, restituirà non 2 ma 4 poichè autoincrementa.

Inoltre per restituire il tuo prezioso zelo ribadisco che borgo italia ha dichiarato e mi ha insegnato che unlink elimina un file.

Comunque ora funziona tutto benissimo faccio altre prove e vi faccio sapare grazie ad entrambi
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 11 Nov 2009
  • #42
ciao alessandro
non mettertici anche tu
sarò gnocco, ma dovete spiegarmi che differenza c'è tra il valore restituito da
count($n)

e dal valore che mi darebbe (senza bisogno di tanti array e cicli while) l'istruzione

mysql_num_rows($sql)

1. la query (così come è) seleziona tutti i record o no?
2. $n[] nel ciclo while non si riempe di tutti gli id_prodotto
(da $n[0]=>primo_id a $n[nun_rec - 1] => ultimo_id) o no?
3. il numero di elementi dell'array $n non è uguale a quanti record ho estratto o no?
4. la funzione count() non restituisce il numero di elementi di un array o no?
5. quindi il valore retituito da count($n) non è uguale al valore restituito da mysql_num_rows($sql) o no?

simuliamo (non ho voglia di costruirmi db e tabella) una query simile

$dati_tabella=array(1,3,5,7,8,9);//simulo i record presenti in tabella, dove 1,3,5,7,8,9 sono gli id_prodotto presenti

$n=array();

foreach($dati_tabella as $valore){//simulo il ciclo while
$n[]=$valore;//simulo l'estrazione di $n[] = $mn['id_prodotto'];
}
$tipologia = '.jpg';
$foto = count($n) . $tipologia;

//ora simulo l'istruzione mysql_num_rows

$num_di_record=count($dati_tabella);
$foto_conNumRows=$num_di_record.$tipologia;

echo "il nome della foto usando while+array è $foto<br>";
echo "il nome della foto usando mysql_num_rows è $foto_conNumRows<br>";
echo "qualcuno vede la differenza?????";

provate questo stupidissimo script
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 11 Nov 2009
  • #43
dimenticavo
il tutto è indipendente da quello che contiene $dati_tabella
 

helpdesk

Utente Attivo
30 Set 2009
726
0
16
Pesaro
  • 11 Nov 2009
  • #44
Ciao Borgo hai pienamente ragione ma il mio ragionamento è diverso tento di spiegarlo il meglio possibile tenendo presente che ogniuno di noi è un mondo a se e che ovviamente chi tenta di aiutarti non può prevedere i meccanismi della tua mente .

Allora per gradi:

////////////////////////////////////////////////////////////////////////

sarò gnocco, ma dovete spiegarmi che differenza c'è tra il valore restituito da
count($n)

e dal valore che mi darebbe (senza bisogno di tanti array e cicli while) l'istruzione

mysql_num_rows($sql)

////////////////////////////////////////////////////////////////////

Questo giustissimo calcolo servirebbe se volessi dare all'immagine il nome esatto dell'id ovvero il numero esatto dell'id giusto?

Ma se lo facessi come tu stessi mi hai fatto notare poi quando elimino una foto esempio: id_prodotto: 1,2,3 eliminando la terza poi mi restituisce 4 e non due giusto?

Per questo motivo ho creato un array che contiene tutti gli id e poi gli ho contati e ho assegnato come nome della foto il numero pari agli elementi dell'array derivato dall'id.

Così facendo se sono 3 gli id sono 3 i valori dell'array ma se ne tolgo uno l'id diventa 4 ma il numero del contenuto dell'array è invece due e quindi mi restituisce due etc etc.

////////////////////////////////////////////////////////////////////////////

1. la query (così come è) seleziona tutti i record o no?

Si i record immagine

2. $n[] nel ciclo while non si riempe di tutti gli id_prodotto
(da $n[0]=>primo_id a $n[nun_rec - 1] => ultimo_id) o no?

Si e diventa un array degli id ma non elimina nulla.

3. il numero di elementi dell'array $n non è uguale a quanti record ho estratto o no?

Si esattamente ed è quel numero che do alle immagini.

4. la funzione count() non restituisce il numero di elementi di un array o no?

Si esattamente e mi serve per dare il suo numero alle immagini

5. quindi il valore retituito da count($n) non è uguale al valore restituito da mysql_num_rows($sql) o no?

Molto probabilmente si ma non ne sono sicuro pertanto ho creato un array fisicamente che magari ha contribuito a farvi impazzire.

Warning: rename(./,./1.jpg) [function.rename]: Permission denied in D:\inetpub\vhosts\beautyluxury.it\httpdocs\prodotti\upload.php on line 31
./1.jpg
 
Ultima modifica: 11 Nov 2009

helpdesk

Utente Attivo
30 Set 2009
726
0
16
Pesaro
  • 11 Nov 2009
  • #45
Ragazzi ho risolto ho sistemato lo script come segue è funziona perfettamente grazie a tutti per il prezioso aiuto e per la gentilezza.

<?php
$dbhost = 'localhost';
$dbuser = 'dbuser';
$dbpass = 'dbpassword';
$dbname = 'dbname';
$connessione = mysql_connect("localhost", "admin_ec_beaty", "dbpassword") or die("Impossibile connettersi al server host");
mysql_select_db(beauyit1_ec, $connessione) or die ("Impossibile selezionare il database.");

$dialogo="risposta=".$dialogo;

$sql=mysql_query("SELECT immagine from prodotti");
while ($mn=mysql_fetch_array($sql)){
$n[]=$memoria['id_prodotto'];
}
$memoria=$n;
$memoria=count($memoria);
$tipologia=".jpg";
$foto=$memoria.$tipologia;

echo"$foto<br>";
$percorso = './';
$uploadfile = ''.$percorso.basename( $_FILES['Filedata']['name'] );
$sposta=move_uploaded_file( $_FILES['Filedata']['tmp_name'] ,$uploadfile );
$nomefileimmagine=$percorso.$foto;
if($sposta){
if (file_exists($nomefileimmagine)){
unlink($nomefileimmagine);
}
$nuovofile=''.$percorso.$_FILES['Filedata']['name'];
rename($nuovofile,$nomefileimmagine);
echo($nomefileimmagine);
}
mysql_close($connessione);
?>
 

helpdesk

Utente Attivo
30 Set 2009
726
0
16
Pesaro
  • 11 Nov 2009
  • #46
C'è un altra piccolissima sventura che credo possa risolversi con un altra if di controllo anche se è rarissimo ma se prelevo nell'hd una foto che puta caso si chiama come il numero che deve essere dato all'immagine allora il sistema si impalla esempio se inserisco la prima foto e la foto che ho nell'hd si chiama esattamente 1.jpg come il numero che starà per essere dato alla foto il sistema si blocca e non carica nulla ci vorrebbe una if del tipo credo sia così ma se sbaglio correggetemi:

$nome_reset="a.jpg";

if($uploadfile==$memoria){
rename($nuovofile,$nome_reset)
}

così dovrebbe chiamare la foto a.jpg e poi procedere tranquillamente con il calcolo di upload rinominandola in 1.jpg sbaglio?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 11 Nov 2009
  • #47
Questo giustissimo calcolo servirebbe se volessi dare all'immagine il nome esatto dell'id ovvero il numero esatto dell'id giusto?
Clicca per allargare...
no
sti sto dicendo che se fai come dici tu o tu faccia con mysql_num_rows ottineino sempre e comunque lo stesso risultato INDIPENDENTEMNTE quale che sia l'id che potereebe essere anche "abracadabra"
 

helpdesk

Utente Attivo
30 Set 2009
726
0
16
Pesaro
  • 11 Nov 2009
  • #48
si vero scusa ma è l'inesperienza lo modificherò come dici tu è che poi non so associare il metodo mysql_num_rows($sql)
per dargli il nome e non so estrapolare i dati da quell'array
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 11 Nov 2009
  • #49
ciao
si vero scusa ma è l'inesperienza lo modificherò come dici tu è che poi non so associare il metodo mysql_num_rows($sql)
per dargli il nome e non so estrapolare i dati da quell'array
Clicca per allargare...
ma a che ti serve l'array????

visto che stai facendo delle prove in locale, slava la pagina che stai facendo con un altro nome, poi la richiami e la risalvi (per poterla utilizzare) col nome che gli avevi dato in modo da poterla utilizzare
togli tutta la parte

while ($mn=mysql_fetch_array($sql)){
$n[]=$mn['id_prodotto'];
}
$memoria=$n;
$memoria=count($memoria);
$tipologia=".jpg";
$foto=$memoria.$tipologia;

ed al posto ci metti

$sql=mysql_query("SELECT immagine from prodotti");
$memoria=mysql_num_rows($sql);
$tipologia=".jpg";
$foto=$memoria.$tipologia;

vedrai che il rusalto è lo stesso medesimo
 

helpdesk

Utente Attivo
30 Set 2009
726
0
16
Pesaro
  • 11 Nov 2009
  • #50
Si, borgo hai ragione funziona benissimo anche così.
Ho provato e funziona benissimo grazie mille, c'è solo il problema del fatto che se prendo una foto nell'hd che si chiama con il numero che devo dargli non mi carica nulla la if che ho scritto è sbagliata?

nome_reset="a.jpg";

if($uploadfile==$memoria){
rename($nuovofile,$nome_reset)
}
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
27
Roma
alessandro1997.netsons.org
  • 11 Nov 2009
  • #51
borgo italia, lo so che è un sistema senza senso, ma se lui faceva così ho pensato che fosse per una buona ragione (anche se non riesco a vedere proprio quale )
 
Prec.
  • 1
  • 2
  • 3
Primo Prec. 3 di 3
Devi accedere o registrarti per poter rispondere.

Discussioni simili

M
telecamera Foscam - mancato invio mail ad account gmail
  • maxweb
  • 23 Gen 2023
  • IP Cam e Videosorveglianza
Risposte
0
Visite
1K
IP Cam e Videosorveglianza 23 Gen 2023
maxweb
M
V
Mancato riconoscimento HD esterno USB
  • Verminillo
  • 15 Ott 2014
  • Hardware
Risposte
0
Visite
1K
Hardware 15 Ott 2014
Verminillo
V
Mancato accesso a ripristino configurazione
  • leagvc
  • 30 Dic 2009
  • Sicurezza e Virus
Risposte
2
Visite
3K
Sicurezza e Virus 20 Gen 2010
arcurs
A
Mancato avvio installazione su XP
  • leagvc
  • 23 Ago 2006
  • Windows e Software
Risposte
1
Visite
2K
Windows e Software 24 Ago 2006
leagvc
M
Mancato aggiornamento BIOS
  • manto
  • 5 Mag 2005
  • Hardware
Risposte
1
Visite
3K
Hardware 17 Giu 2005
daviduccio
M
Upload immagine con javascript problemi con FormData()
  • MBlackmore
  • 6 Ott 2021
  • Javascript
Risposte
1
Visite
1K
Javascript 6 Ott 2021
MBlackmore
M
Z
Upload protetto e sicuro
  • z.cristiano
  • 6 Set 2021
  • PHP
Risposte
1
Visite
756
PHP 6 Set 2021
linoma
L
L
  • Bloccata
Modifica file upload in ASP
  • LucaVet
  • 29 Lug 2021
  • Classic ASP
Risposte
2
Visite
2K
Classic ASP 28 Ago 2021
Paolo69
Creare bottone delete in form upload
  • Cosina
  • 25 Apr 2021
  • PHP
Risposte
5
Visite
2K
PHP 21 Ago 2021
princebhaini8
P
  • Bloccata
Creare bottone delete in form upload
  • Cosina
  • 24 Apr 2021
  • PHP
Risposte
1
Visite
1K
PHP 25 Apr 2021
Max 1
Upload multiplo con invio allegati per email
  • Cosina
  • 4 Mar 2021
  • PHP
Risposte
0
Visite
954
PHP 4 Mar 2021
Cosina
Upload multiplo con archiviazione in cartella
  • Cosina
  • 4 Mar 2021
  • PHP
Risposte
16
Visite
1K
PHP 12 Mar 2021
Cosina
P
Script upload immagini
  • pippuccio76
  • 9 Feb 2021
  • jQuery
Risposte
0
Visite
3K
jQuery 9 Feb 2021
pippuccio76
P
L
upload image tramite url e cache
  • luigithen
  • 3 Set 2020
  • PHP
Risposte
10
Visite
2K
PHP 5 Set 2020
macus_adi
W
Non fa l'upload
  • wuolfit_one
  • 15 Giu 2020
  • PHP
Risposte
0
Visite
1K
PHP 15 Giu 2020
wuolfit_one
W
L
Upload di un'immagine all'interno di un database usando php
  • lollo_x
  • 9 Giu 2020
  • PHP
Risposte
6
Visite
2K
PHP 12 Giu 2020
MarcoGrazia
S
Upload file senza doverlo selezionare
  • samurai.sette
  • 29 Mag 2020
  • PHP
Risposte
2
Visite
1K
PHP 5 Feb 2021
mecoman
M
P
Upload foto cover e profilo
  • Peterrey76
  • 16 Mag 2020
  • jQuery
Risposte
0
Visite
3K
jQuery 16 Mag 2020
Peterrey76
P
G
Upload file error
  • Gian72Luca
  • 9 Apr 2020
  • Apache
Risposte
0
Visite
3K
Apache 9 Apr 2020
Gian72Luca
G
R
Modifica codice per l'upload di più file
  • rino2002
  • 16 Mar 2020
  • PHP
Risposte
1
Visite
1K
PHP 30 Mar 2020
Flaviors200
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?