mancato upload

helpdesk

Utente Attivo
30 Set 2009
726
0
0
Pesaro
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.046
150
63
PR
www.borgo-italia.it
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
 

helpdesk

Utente Attivo
30 Set 2009
726
0
0
Pesaro
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:

helpdesk

Utente Attivo
30 Set 2009
726
0
0
Pesaro
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
0
Pesaro
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.046
150
63
PR
www.borgo-italia.it
Questo giustissimo calcolo servirebbe se volessi dare all'immagine il nome esatto dell'id ovvero il numero esatto dell'id giusto?
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
0
Pesaro
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.046
150
63
PR
www.borgo-italia.it
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
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
0
Pesaro
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)
}
 
Discussioni simili
Autore Titolo Forum Risposte Data
M telecamera Foscam - mancato invio mail ad account gmail IP Cam e Videosorveglianza 0
V Mancato riconoscimento HD esterno USB Hardware 0
leagvc Mancato accesso a ripristino configurazione Sicurezza e Virus 2
leagvc Mancato avvio installazione su XP Windows e Software 1
M Mancato aggiornamento BIOS Hardware 1
M Upload immagine con javascript problemi con FormData() Javascript 1
Z Upload protetto e sicuro PHP 1
L Modifica file upload in ASP Classic ASP 2
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
Cosina Upload multiplo con invio allegati per email PHP 0
Cosina Upload multiplo con archiviazione in cartella PHP 16
P Script upload immagini jQuery 0
L upload image tramite url e cache PHP 10
W Non fa l'upload PHP 0
L Upload di un'immagine all'interno di un database usando php PHP 6
S Upload file senza doverlo selezionare PHP 2
P Upload foto cover e profilo jQuery 0
G Upload file error Apache 0
R Modifica codice per l'upload di più file PHP 1
S Problemi con modulo upload video php (help!) PHP 0
S [PHP] Upload stesso file PHP 14
max1974 [Javascript] dropzone upload to server Javascript 0
S [ASP.Net] [ASP] Upload Image ASP.NET 6
F [PHP] Informazioni upload PHP 11
G [PHP] upload file in server: percorso cartella PHP 2
M Upload 4 file php PHP 11
M [ASP] Upload file da form controllo Classic ASP 5
D [PHP] Upload intera cartella PHP 2
felino [PHP] Uploadify: upload immagini PHP 0
M [PHP] Nome file, upload e rinominare PHP 2
R Configurazione upload ftp su dvr IP Cam e Videosorveglianza 3
M [PHP] upload di un file esistente overwrite PHP 1
N [PHP] Test per l'upload di file attraverso un bot Telegram PHP 2
L [PHP] problema con upload e javascript (upload multiplo) Javascript 2
L [PHP] upload con errore PHP 2
V [PHP] Upload Excel in db PHP 0
jailbait [PHP] Upload immagine e stampa a schermo PHP 0
G PHP upload dati ed immagine PHP 7
F [PHP] Validare form prenotazione appuntamento tattoo con upload image PHP 0
D [PHP] Upload encrypt image PHP 0
C [PHP] Problema upload file (multiplo) PHP 1
P [PHP] Upload multiplo PHP 4
N [PHP] Problema upload immagini wordpress PHP 2
S [PHP] Upload file... PHP 6
michelangelopaone IPCAM Szinocam e upload FTP IP Cam e Videosorveglianza 0
razzor1994 Remote Upload Server Dedicati e VPS 0
P Barra upload file jQuery 1
giancadeejay [PHP] Aggiornare DB tramite UPLOAD file .csv PHP 39
MarcoGrazia [PHP] Upload e successiva visualizzazione immagini in DB PHP 3

Discussioni simili