Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
Nelle ultime settimane abbiamo provato tre delle proposte top di gamma di NZXT nelle categorie case, dissipatori e ventole. Rispettivamente, parliamo dell'H9 Flow RGB+, Kraken Elite 420 e F140X. Si tratta, chiaramente, di prodotti di fascia alta che si rivolgono agli utenti DIY che desiderano il massimo per la propria build. Tuttavia, mentre i primi due dispositivi mantengono questa direzione, le ventole purtroppo hanno mostrato qualche tallone d'Achille di troppo
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-06-2006, 10:32   #1
iso3200
Junior Member
 
Iscritto dal: Jun 2006
Messaggi: 21
[PHP]cerco script particolare (upload + link)

Salve,sono nuovo del forum,e vorrei chiedere aiuto riguardo uno script particolare.
Vi espongo subito il mio problema:

Ho un sito che permette di uplodare i file agli user registrati in una cartella come questa:

http://nomesito.org/upload/

Premetto che utilizzo Wordpress e uso il Plugin "Pageview" che serve a visualizzare in una pagina una specie di finestra interna che visualizza un sito o una pagina a mia scelta( in questo caso gli ho chiesto di visualizzare una pagina cosi: http://nomesito.org/upload/index.htm )

Quello che mi servirebbe è uno script che mi inserisca automaticamente un link nella pagina INDEX.HTM diretto a quel file.

Posto inoltre il codice php delle due pagine che utilizzo per uplodare i file sul server.

Ecco il file upload.php :

Codice PHP:
<?


include "settings.php"/*Inclusion of the config file*/

if ($pp<>''){
$p=base64_encode($pp);
$pp='';
}
if (
base64_decode($p)<>$psw){
echo 
"<FORM METHOD=\"Post\" ACTION=\"$PHP_SELF\">\nInserisci Password: <input type=password name=\"pp\"> <input type=submit value=\"Login\"></FORM>";
} else {
if (
$d<>''){
if (!(
file_exists($d))){ /*if the dir does not exist...create it*/
umask(011);
mkdir($d,"0777");
echo 
"The directory $d was successful created.";
}
}
if (
$a<>'1'){
echo 
"<FORM METHOD=\"Post\" ENCTYPE=\"multipart/form-data\" ACTION=\"".$PHP_SELF."?p=".$p."\">\n<input type=hidden name=a value=1>\n";
$k=1;
while (
$k<=$up){
echo 
"File $k: <INPUT TYPE=\"file\" NAME=\"file$k\"><BR><BR>\n";
$k++;
}
echo 
"<INPUT TYPE=\"submit\" value=UPLOAD>\n</FORM>";
} else {
$k=1;
while (
$k<=$up){
echo 
"$c File $k";
$t=$HTTP_POST_FILES["file$k"]['tmp_name'];
$sz=$HTTP_POST_FILES["file$k"]['size'];
$n=$HTTP_POST_FILES["file$k"]['name'];
if (
$t=='none'){
echo 
": $err1";
} elseif (
$sz>$s){
echo 
": $err";
} else {
echo 
" ($n): ";
copy($t,"$d$n"); /* Copying the file */
echo $ok;
}
echo 
"<br>";
$k++;
}
echo 
"<br><br><a href=\"$PHP_SELF?p=$p\">$back</a>";
}
}
?>
<br><br>

</p>
</body>
</html>
---

Ecco il file setting.php che credo gestisca le caratteristiche dell'upload(ho tolto i dati personali):

Codice PHP:
<?


// Password

$psw="PASSWORD";


// Name of the directory where the files will be saved (with slash "/")
// Nome della directory in cui verranno salvati i files (con lo slash "/")

$d="upload/";


// Maximum filesize (bytes - 15000 = 15KB)
// Dimensione massima del file in bytes (15000= 15KB)    

$s=2500000;


// Uploading.. Message
// Messaggio Trasferimento del file...

$c="Sto caricando il file";


// Error Message (Filesize over limit)
// Messaggio di errore (Dimensione del file al di sopra del limite imposto)

$err="Dimensione del file al di sopra del limite imposto";


// Error Message (Not Found, or File-Browse-Box empty)
// Messaggio di errore (Non trovato, o Casella-Sfoglia-file vuota)

$err1="Non trovato, o Casella-Sfoglia-file vuota";


// OK Message
// Messaggio di OK

$ok="File caricato correttamente!";


// Go-Back Message
// Messaggio torna-indietro

$back="Inoltra altri files";


// Number of simultaneus uploads min=1, max=14
// Numero di uploads simulanei min=1, max=14

$up=1;


// HTML code of the header of the page
// Codice Html dell'header della pagina
?>
<HTML>
<HEAD>
<TITLE>Carica il tuo file</TITLE>
<style>

A { COLOR: #000000 }

A:visited { COLOR: #000000 }


A:hover { COLOR: #000000 }

</style>
</HEAD>

<BODY BGCOLOR="#ffffff" TEXT="#000000" leftmargin="0" topmargin="0" rightmargin="0">
<P ALIGN="CENTER">
<BR><BR></p>
Nel caso qualcuno potesse scrivere il codice che mi serve,gli sarei molto grato,visto che non so praticamente nulla di php

Ultima modifica di iso3200 : 26-06-2006 alle 10:42.
iso3200 è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2006, 11:11   #2
Xalexalex
Senior Member
 
L'Avatar di Xalexalex
 
Iscritto dal: Jan 2006
Città: Pisa
Messaggi: 2503
L'idea più semplice che mi viene in mente è far si che ogni volta che il file viene uploadato con successo venga scritto in un file di testo (o nel database se lo hai a disposizione) il nome del file.
Poi nell'index recuperi tutti i nomi dei file, gli associ il percorso (a.e. http://tuosito/upload/) e scrivi il link.
Ora ti posto il codice...
Ah, ovviamente benvenuto

Alex
__________________
Xalexalex è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2006, 11:22   #3
iso3200
Junior Member
 
Iscritto dal: Jun 2006
Messaggi: 21
Grazie per il bevenuto

Ti chiedo gentilmente se è possibile far si che venga aggiunto automaticamente a quella pagina,perchè il sito sarà sottoposto ad un'ingente quantità di materiale,anche se non tutto in un particolare giorno ma suddiviso in una settimana,quindi ho bisogno di una funzione che aggiunge direttamente il link,perchè farlo manualmente sarebbe lungo e noioso...

ps: il database ce l'ho a disposizione
iso3200 è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2006, 11:25   #4
Xalexalex
Senior Member
 
L'Avatar di Xalexalex
 
Iscritto dal: Jan 2006
Città: Pisa
Messaggi: 2503
Allora nella pagina che uploada i file, aggiungi questo spezzone di codice:
Codice PHP:
<?php
file_put_contents
("./upload/files.fls","{$nomefile}\n");
?>
dove $nomefile è il nome del file uploadato così com'è sul server, estensione compresa. Ovviamente questo spezzone di codice andrà eseguito solo se l'upload è andato a buon fine.

Nell'index invece metti
Codice PHP:
<?php
$stringa
=file_get_contents("./uploads/files.fls");
$nomi=explode("\n",$stringa);
array_map("trim",$nomi);
foreach (
$nomi as $nome)
{
 echo 
"<a href=\"/uploads/{$nome}\">{$nome}</a><br>";
}
?>
che ti stampa l'elenco dei file.

Spero di non aver fatto casino tra parentesi, virgolette e slashes...

Ciaozz,
Alex
__________________
Xalexalex è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2006, 11:31   #5
iso3200
Junior Member
 
Iscritto dal: Jun 2006
Messaggi: 21
Cosa devo scrivere al posto di $nomefile? e soprattutto dove devo inserire il codice

Codice PHP:
file_put_contents("./upload/files.fls","{$nomefile}\n"); 

Ultima modifica di iso3200 : 26-06-2006 alle 11:37.
iso3200 è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2006, 13:54   #6
Xalexalex
Senior Member
 
L'Avatar di Xalexalex
 
Iscritto dal: Jan 2006
Città: Pisa
Messaggi: 2503
Codice PHP:
<?


include "settings.php"/*Inclusion of the config file*/

if ($pp<>''){
$p=base64_encode($pp);
$pp='';
}
if (
base64_decode($p)<>$psw){
echo 
"<FORM METHOD=\"Post\" ACTION=\"$PHP_SELF\">\nInserisci Password: <input type=password name=\"pp\"> <input type=submit value=\"Login\"></FORM>";
} else {
if (
$d<>''){
if (!(
file_exists($d))){ /*if the dir does not exist...create it*/
umask(011);
mkdir($d,"0777");
echo 
"The directory $d was successful created.";
}
}
if (
$a<>'1'){
echo 
"<FORM METHOD=\"Post\" ENCTYPE=\"multipart/form-data\" ACTION=\"".$PHP_SELF."?p=".$p."\">\n<input type=hidden name=a value=1>\n";
$k=1;
while (
$k<=$up){
echo 
"File $k: <INPUT TYPE=\"file\" NAME=\"file$k\"><BR><BR>\n";
$k++;
}
echo 
"<INPUT TYPE=\"submit\" value=UPLOAD>\n</FORM>";
} else {
$k=1;
while (
$k<=$up){
echo 
"$c File $k";
$t=$HTTP_POST_FILES["file$k"]['tmp_name'];
$sz=$HTTP_POST_FILES["file$k"]['size'];
$n=$HTTP_POST_FILES["file$k"]['name'];
if (
$t=='none'){
echo 
": $err1";
} elseif (
$sz>$s){
echo 
": $err";
} else {
echo 
" ($n): ";
copy($t,"$d$n"); /* Copying the file */
file_put_contents("./upload/files.fls","{$n}\n");
echo 
$ok;
}
echo 
"<br>";
$k++;
}
echo 
"<br><br><a href=\"$PHP_SELF?p=$p\">$back</a>";
}
}
?>
<br><br>

</p>
</body>
</html>
Ho aggiunto la riga alla pagina di upload, dimmi un po se funziona...

Ciaozzz
__________________
Xalexalex è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2006, 18:51   #7
iso3200
Junior Member
 
Iscritto dal: Jun 2006
Messaggi: 21
Lo provo ora che oggi ero fuori casa...
iso3200 è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2006, 19:02   #8
iso3200
Junior Member
 
Iscritto dal: Jun 2006
Messaggi: 21
Allora,il file viene uplodato perfettamente.Nessun messaggio di errore o altro.
Ho copiato il codice:

Codice PHP:
<?php
$stringa
=file_get_contents("./uploads/files.fls");
$nomi=explode("\n",$stringa);
array_map("trim",$nomi);
foreach (
$nomi as $nome)
{
 echo 
"<a href=\"/uploads/{$nome}\">{$nome}</a><br>";
}
?>
nella pagina INDEX.PHP,ma non visualizza niente!

ps: forse ho capito,hai messo UPLOADS al posto di UPLOAD/files.fls..possibile che sia quello?
perchè la cartello dove invio i file è upload/

Ultima modifica di iso3200 : 26-06-2006 alle 19:09.
iso3200 è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2006, 19:18   #9
Xalexalex
Senior Member
 
L'Avatar di Xalexalex
 
Iscritto dal: Jan 2006
Città: Pisa
Messaggi: 2503
Ah si sry
Si il percorso deve essere esatto ovviamente...
__________________
Xalexalex è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2006, 19:19   #10
iso3200
Junior Member
 
Iscritto dal: Jun 2006
Messaggi: 21
Ho messo tutto come mi hai detto..
dopo aver uplodato il file correttamente mi da questo errore:


Codice PHP:
Fatal errorCall to undefined function: file_put_contents() in /membri/iso3200/upload.php on line 42 
iso3200 è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2006, 19:32   #11
Xalexalex
Senior Member
 
L'Avatar di Xalexalex
 
Iscritto dal: Jan 2006
Città: Pisa
Messaggi: 2503
Quote:
Originariamente inviato da iso3200
Ho messo tutto come mi hai detto..
dopo aver uplodato il file correttamente mi da questo errore:


Codice PHP:
Fatal errorCall to undefined function: file_put_contents() in /membri/iso3200/upload.php on line 42 
E' disponibile solo in PHP5, forse sul tuo hosting c'è il 4...
Comunque si sostituisce subito con:

Codice PHP:
$fp=fopen("uploads/files.fls","a");
fwrite($fp,$n."\n");
fclose($fp
__________________
Xalexalex è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2006, 19:45   #12
iso3200
Junior Member
 
Iscritto dal: Jun 2006
Messaggi: 21
Scusa ma non ho capito dove devo inserire:

Codice PHP:
$fp=fopen("uploads/files.fls","a");
fwrite($fp,$n."\n");
fclose($fp
iso3200 è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2006, 19:55   #13
Xalexalex
Senior Member
 
L'Avatar di Xalexalex
 
Iscritto dal: Jan 2006
Città: Pisa
Messaggi: 2503
Al posto di file_put_contents ...
Ah una cosa, invece "fclose($fp)" metti "fclose($fp);" , cioè aggiungi il punto e virgola.
Ciaoozz
__________________
Xalexalex è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2006, 20:01   #14
iso3200
Junior Member
 
Iscritto dal: Jun 2006
Messaggi: 21
niente.Ho provato a lanciar la pagina index.php dentro la cartella upload e mi da questo nell'html:

<a href="/upload/"></a><br>

come se mancasse il file..che in effetti è stato uplodato correttamente ed è presente nella cartella!
iso3200 è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2006, 20:04   #15
iso3200
Junior Member
 
Iscritto dal: Jun 2006
Messaggi: 21
Perfetto!Ora funziona alla grande!
Bastava cambiare un UPLOADS in UPLOAD

Grazie di cuore!!!

immagino con quante teste dure come la mia come me hai a che fare e ti assicuro che ne hai di pazienza
iso3200 è offline   Rispondi citando il messaggio o parte di esso
Old 26-06-2006, 20:10   #16
Xalexalex
Senior Member
 
L'Avatar di Xalexalex
 
Iscritto dal: Jan 2006
Città: Pisa
Messaggi: 2503
Ma noooooo figurati... Siamo qui per aiutarci no?
Sennò mettevano solo la piazzetta...
__________________
Xalexalex è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Anthropic ha un'AI che trova falle in Wi...
I 10 migliori sconti Amazon del weekend:...
Con un coupon scendono ancora: le super ...
Minimo storico per Samsung Galaxy S26 Ul...
Si è conclusa la missione lunare ...
EK Waterblock si arrende agli aumenti, i...
Geekbench si aggiorna: tutti i test con ...
Per la prima volta un computer quantisti...
Telecamere Reolink 4K su Amazon: Wi-Fi 6...
Anthropic vuole farsi i chip da sola? Co...
Il fondatore di Framework: il personal c...
JBL Live Flex 3 a 129€ su Amazon: ANC ad...
Come un uomo ha costruito un'azienda da ...
Multe fino a 400 euro anche se hai pagat...
Tapo lancia una valanga di offerte su Am...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:26.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v