-
aiuto in php?
salve a tutti, saro' sincero non so niente di php e ho perso un codice che mi faceva visualizzare i file caricati da un form in una pagina (index.php).
se possibile vorrei sapere come fare..ci ho provato ma non ho capito come spostare i file caricati nella cartella upload e falli vedere nella pagina php ...da sinistra a destra (in riquadri).
il codice per l'upload e' questo e funziona a meraviglia(mi carica anche i video,e' perfetto)PS:ansi se dovesse servire a qualcuno e' perfetto.
<?php
if(!$_FILES["file"]["name"]){
echo"non hai scelto nessun file!torna in dietro";
} else {
$temp = explode(".", $_FILES["file"]["name"]);
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".rand(1, 100000000).'-'.$_POST['nome'].'.'.end($temp));
header('Location: upload');
}
?>
PS:ora, come faccio a visualizzare i file della cartella upload nella pagina php? grazie a tutti.
-
Salve,
provi con questo, che le crea anche i link per lo scaricamento dei file:
Codice HTML:
<table id="fileTable">
<thead>
<tr>
<th>Data</th>
<th>Nome</th>
<th>Dim.</th>
<th class="no-order">↓</th>
</tr>
</thead>
<tbody>
<?php
/* ===============================================================
Author's custom code: http://quellidelcucuzzolo.blogspot.it
Please do not remove credit
============================================================== */
foreach (glob("upload/*.{jpg,jpeg,png}", GLOB_BRACE) as $filename) {
$nomefile = pathinfo($filename); //array contenente nome, estensione e percorso del file
$timefile = filemtime($filename); //data in timestamp
$modifica = date("d/m/Y", $timefile); //data in formato dd/mm/yyyy
$peso = round(filesize($filename) / 1024); //dimensioni del file arrotondate ai KB
echo "<tr>
<td data-ordina='".$timefile."'>".$modifica."</td>
<td class='nomefile' data-ordina='".$nomefile[basename]."'>".$nomefile[basename]."</td>
<td class='size' data-ordina='".$peso."'>".$peso." KB</td>
<td>
<a href='".$filename."' title='Scarica il file' download><img src='".$filename."' style='width:100; height:auto; padding-right:5px; padding-left:5px;' alt='icona download'></a>
</td>
</tr>
";
}
?>
</tbody>
</table>
Il codice l'ho preso da qui: elenco file dinamico ordinabile
Cordiali saluti.
-
salve,innanzi tutto grazie per la risposta, ma questo codice mi fa apparire i nomi dei file con il relativo link per i download,quello che mi serviva a me e' visualizzare i file caricati (es se e' un immagine ,o un video, in pratica come li vedo se li guardo nella cartella upload ( prima li vedevo in riquadri da sinistra a destra e se ci cliccavo sopra mi si apriva la finestra grande.) purtroppo per sbaglio ho eliminato la pagina index.php. grazie per l'aiuto.
-
Mi scusi, avevo frainteso.
Ho aggiornato il codice nel messaggio precedente. Ora visulizza anche le immagini caricate.
Cordiali saluti.
-
grazie per la pazienza ma nella pagina index.php mi esce solo questo ( Data Nome Dim. ↓).
senta mi perdoni...ma e' possibile avere un codice piu semplice che dice ....( visualizza nella pagina index.php
i file caricati nella cartella upload in riquadri es:( se e' una foto, ovviamente con la foto) ,es: (se e' un video ovviamente con la video, etc..) da sinistra a destra? grazie
-
Provi questo:
Codice HTML:
<style type="text/css">
#scrolly{
width: 1000px;
height: 190px;
overflow: auto;
overflow-y: hidden;
margin: 0 auto;
white-space: nowrap
}
img{
width: 150px;
height: auto;
margin: 20px 10px;
display: inline;
}
</style>
<div id="scrolly">
<?php
foreach(glob('../*.{jpg,jpeg,png,gif}', GLOB_BRACE) as $filename)
{
$nomefile = pathinfo($filename);
echo '<img src="'.$filename.'" alt="'.$nomefile[basename].'">';
}
?>
</div>
Comunque se la cartella upload non è nella root, è normale che i file non vengano caricati, va adeguato il percorso.
Dove si trova la cartella apload?
Cordiali saluti.
-
nella root, dove e' sempre stata, oro lo provo,grazie
-
grazie ancora, la cartella upload si trova in gestione file ,e dentro la cartella upload ce' il file index.php e' tutto uguale a prima solo che per sbaglio il file index.php l'ho salvato senza codice....
-
ho provato il codice e se apro il file index.php mi da una pagina bianca vuota,
-
In global, metta un solo punto prima dello slash "./", al poasto del percorso.
Come riportato qui:
Codice PHP:
foreach(glob('./*.{jpg,jpeg,png,gif}', GLOB_BRACE) as $filename)
Cordiali saluti.
-
grazie ancora per la pazienza.. mi da questo errore ( Parse error: syntax error, unexpected ''./*.{jpg,jpeg,png,gif}, GLOB_' (T_CONSTANT_ENCAPSED_STRING) in /membri/ilculopiubello/upload/index.php on line 23
-
Nel messaggio di errore vedo che c'è un doppio apice prima del punto con lo slash, controlli il codice nel file index e lo tolga.
Cordiali saluti.
-
ho risolto ho eliminato il css ma mi si vede cosi...http://ilculopiubello.altervista.org/upload/index.php ...mi manca il clic sul riquadro e il file video non si vede l'anteprima...non mi mandi a quel paese....ahah
-
Questo è il codice modificato, dovrebbe soddisfare le sue richieste:
Codice HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="generator" content="AlterVista - Editor HTML"/>
<title>Esempio Slide Show</title>
</head>
<body>
<style type="text/css">
#scrolly{
width: 1000px;
height: 190px;
margin: 0 auto;
white-space: nowrap
}
img{
float:left;
width: 150px;
height: auto;
margin: 20px 10px;
}
.autozoom {
transition-duration: 1s;
-ms-transition-duration: 1s;
-webkit-transition-duration: 1s;
-moz-transition-duration: 1s;
-o-transition-duration: 1s;
transition-property: transform;
-ms-transition-property: -ms-transform;
-webkit-transition-property: -webkit-transform;
-moz-transition-property: -moz-transform;
-o-transition-property: -o-transform;
overflow:hidden;
}
.autozoom:hover {
-ms-transform: scale(2,2);
-webkit-transform: scale(2,2);
-moz-transform: scale(2,2);
-o-transform: scale(2,2);
}
</style>
<div id="scrolly">
<?php
foreach(glob('./*.{jpg,jpeg,png,gif,ico}', GLOB_BRACE) as $filename)
{
$nomefile = pathinfo($filename);
echo '<img class="autozoom" src="'.$filename.'" style="cursor: -moz-zoom-in;" alt="'.$nomefile[basename].'" onclick="this.width=300;this.height=auto;" ondblclick="this.width=150;this.height=auto;">';
}
?>
</div>
</body>
</html>
Ho fatto l'ingrandimento al passaggio del mouse invece del click, spero li vada bene ugualmente.
Cordiali saluti.
-
perfetto...la ringrazio veramente di cuore per l'aiuto.le auguro tutto il bene di questo mondo
-
Più per GraphOGL, ma utile in generale: usare echo e concatenare stringhe funziona, ma il codice diventa rapidamente illeggibile. Ad esempio questo spezzone dal codice sopra
Codice PHP:
<?php
foreach(glob('./*.{jpg,jpeg,png,gif,ico}', GLOB_BRACE) as $filename)
{
$nomefile = pathinfo($filename);
echo '<img class="autozoom" src="'.$filename.'" style="cursor: -moz-zoom-in;" alt="'.$nomefile[basename].'" onclick="this.width=300;this.height=auto;" ondblclick="this.width=150;this.height=auto;">';
}
?>
può essere scritto usando la sintassi heredoc se si vuole comunque una stringa:
Codice PHP:
<?php
foreach(glob('./*.{jpg,jpeg,png,gif,ico}', GLOB_BRACE) as $filename) {
$nomefile = pathinfo($filename);
echo <<<FINE
<img src="{$filename}" alt="{$nomefile['basename']}"
class="autozoom" style="cursor: -moz-zoom-in;"
onclick="this.width=300;this.height=auto;"
ondblclick="this.width=150;this.height=auto;" />
FINE;
}
?>
Oppure passando all'HTML, se si può mandare direttamente in output:
Codice PHP:
<?php
foreach(glob('./*.{jpg,jpeg,png,gif,ico}', GLOB_BRACE) as $filename):
$nomefile = pathinfo($filename);
?>
<img src="<?= $filename ?>" alt="<?= $nomefile['basename'] ?>"
class="autozoom" style="cursor: -moz-zoom-in;"
onclick="this.width=300;this.height=auto;"
ondblclick="this.width=150;this.height=auto;" />
<?php endforeach ?>