![]() |
![]() |
|
| Condividi questo contenuto nei Social Network: |
|
Tweet |
|
|
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. |
||||
|
|||||||||
|
|
LinkBack | Strumenti di discussione |
|
|
#1 (permalink) |
|
User Attivo
|
[Script] Creare una pagina di annunci con foto
Potete trovare la versione funzionante Qui
Bene, questo post serve come tutorial per creare una pagina che effettua le seguenti operazioni: 1) Inserimento di un annuncio (campi testuali) più upload di un file (foto) salvando il tutto in un file 2) Lettura del file e visualizzazione dell'annuncio in una pagina Cominciamo con il punto 1: Cominciamo con il codice per l'inserimenti di campi testuali. Per fare questo ci rivolgiamo alla Guida php di Giorgio Taverniti per l'invio di informazioni tramite form php Ecco qui il codice: Pagina html: upload.html Codice:
<html> <head> <title>Upload</title> </head> <body> <form enctype="multipart/form-data" action="upload.php" method="POST"> Nome <input type="text" name="nome" size="20"> Recapito <input type="text" name="recapito" size="20"> Oggetto <textarea name="oggetto" rows="3" cols="40"></textarea> </p> <input type="submit" value="Invia"> </form> </body> </html> Codice:
<?
if (!empty($_POST['nome'])){
$nome = $_POST['nome'];
}
if (!empty($_GET['nome'])){
$nome = $_GET['nome'];
}
if (!empty($_POST['recapito'])){
$recapito = $_POST['recapito'];
}
if (!empty($_GET['recapito'])){
$recapito = $_GET['recapito'];
}
if (!empty($_POST['oggetto'])){
$oggetto = $_POST['oggetto'];
}
if (!empty($_GET['oggetto'])){
$oggetto = $_GET['oggetto'];
}
echo "<center>";
echo "Ciao ecco i risultati del tuo inserimento:";
$errore= false;
If((!$nome) || (!$recapito) || (!$oggetto)) {
#controllo che nessun campo sia vuoto
$errore=true;
echo "Non hai compilato tutti i campi <a href=\"uno.htm\">torna indietro</a>";
exit;
}
else{
echo " i campi sono ok";
}
echo "<HR>";
#controllo che il file sia accessibile
if (!$apri = fopen ("file.txt","a+")) {
$errore=true;
echo "non posso aprire il file";
}else{
$apriw = fopen ("file.txt","a+");
#ora creo una variabile che contiene la linea di reparazione
$linea ="<hr color=red>";
# e sul file scrivo nome e vado a capo,il recapito e vado a capo
# l'oggetto e vado a capo e la linea ti separazione
fputs($apriw,"$nome\n");
fputs($apriw,"$recapito\n");
fputs($apriw,"$oggetto\n");
fputs($apriw,"$linea");
#chiudo il file
fclose($apriw);
}
#se c'e l'errore mi dice di inserirli di nuovo altrimenti mi fa leggere gli annunci
if($errore){
echo"
Riinseriscili perfavore
";
}
else{
echo "
<a href=\"annunci.php\">leggi gli annunci</a>";
}
?>
Ecco la pagina che mi legge dal file chiamata annunci.php Codice:
<?php
echo "Ecco i vostri annunci
";
if (!$apri = fopen("file.txt","r")){
echo "Non posso aprire il file";
}else{
#Se il file si può leggere allora con un ciclo while
# leggo tutte le righe del mio file
while(!feof($apri)){
$leggo = fgets($apri,255);
echo "$leggo
";
}
}
fclose($apri);
?>
|
|
__________________
Film |
|
|
|
|
|
|
|
|
#2 (permalink) |
|
User Attivo
|
Bene,
ora passiamo al punto 2 Prendiamo il codice dalla Guida PHP per l'upload di un file di giorgiotave e lo uniamo al codice usato prima. Aggiungiamo il box per lo sfoglia del file nella nostra pagina upload.html che diventerà: Codice:
<html> <head> <title>Upload</title> </head> <body> <form enctype="multipart/form-data" action="upload.php" method="POST"> Nome <input type="text" name="nome" size="20"> Recapito <input type="text" name="recapito" size="20"> Oggetto <textarea name="oggetto" rows="3" cols="40"></textarea> </p> <input type="hidden" name="MAX_FILE_SIZE" value="30000"> Invia questo file: <input name="userfile" type="file"> <input type="submit" value="Invia File"> </form> </body> </html> Codice:
<?
//percorso della cartella dove mettere i file caricati
$uploaddir = '/home/httpd/vhosts/';
if (!empty($_POST['nome'])){
$nome = $_POST['nome'];
}
if (!empty($_GET['nome'])){
$nome = $_GET['nome'];
}
if (!empty($_POST['recapito'])){
$recapito = $_POST['recapito'];
}
if (!empty($_GET['recapito'])){
$recapito = $_GET['recapito'];
}
if (!empty($_POST['oggetto'])){
$oggetto = $_POST['oggetto'];
}
if (!empty($_GET['oggetto'])){
$oggetto = $_GET['oggetto'];
}
echo "<center>";
echo "Ciao ecco i risultati del tuo inserimento:";
$errore= false;
If((!$nome) || (!$recapito) || (!$oggetto)) {
#controllo che nessun campo sia vuoto
$errore=true;
echo "Non hai compilato tutti i campi <a href=\"uno.htm\">torna indietro</a>";
exit;
}
else{
echo " i campi sono ok";
}
//Recupero il percorso temporaneo del file
$userfile_tmp = $_FILES['userfile']['tmp_name'];
//recupero il nome originale del file caricato
$userfile_name = $_FILES['userfile']['name'];
print "<pre>";
//copio il file dalla locazione temporanea alla mia cartella upload
if (move_uploaded_file($userfile_tmp, $uploaddir . $userfile_name))
{
//Se l'operazione è andata a buon fine...
print "File inviato con successo. Ecco alcune informazioni:\n";
print_r($_FILES);
}
else
{
//Se l'operazione è fallta...
print "Upload NON valido! Alcune informazioni:\n";
print_r($_FILES);
}
print "</pre>";
echo "<HR>";
#controllo che il file sia accessibile
if (!$apri = fopen ("file.txt","a+")) {
$errore=true;
echo "non posso aprire il file";
}else{
$apriw = fopen ("file.txt","a+");
#ora creo una variabile che contiene la linea di reparazione
$linea ="<hr color=red>";
# e sul file scrivo nome e vado a capo,il recapito e vado a capo
# l'oggetto e vado a capo e la linea ti separazione
fputs($apriw,"$nome\n");
fputs($apriw,"$recapito\n");
fputs($apriw,"$oggetto\n");
fputs($apriw,"<img src=$userfile_name>\n");
fputs($apriw,"$linea");
#chiudo il file
fclose($apriw);
}
#se c'e l'errore mi dice di inserirli di nuovo altrimenti mi fa leggere gli annunci
if($errore){
echo"
Riinseriscili perfavore
";
}
else{
echo "
<a href=\"annunci.php\">leggi gli annunci</a>";
}
?>
Codice:
<?php
echo "Ecco i vostri annunci
";
if (!$apri = fopen("file.txt","r")){
echo "Non posso aprire il file";
}else{
#Se il file si può leggere allora con un ciclo while
# leggo tutte le righe del mio file
while(!feof($apri)){
$leggo = fgets($apri,255);
echo "$leggo
";
}
}
fclose($apri);
?>
|
|
__________________
Film |
|
|
|
|
|
|
#4 (permalink) |
|
User
Data di registrazione: Mar 2005
Messaggi: 503
|
piccola precisazione di sicurezza (che esula dall'esempio specifico)
attenzione a usare la varibili (GET,POST,SESSION,FILES) direttamente (cioè senza $_GET,$_POST,ecc.....) in particolare la cosa diventa pericolosa se si usane le sessioni, quindi conviene sempre recuperare il valore da: $val=$_SESSION[val]; |
|
|
|
|
|
#5 (permalink) |
|
User
Data di registrazione: Sep 2005
Messaggi: 19
|
Grazie per l'esempio che hai fatto,dopo tanta mia insistenza,sei molto gentile,l'ho testato,ma non funge(preticamente non carica la foto),infatti il risultato è questo:
Ciao ecco i risultati del tuo inserimento: i campi sono ok nome del file locale creato dopo l'invio: D:\\WPM\\djspot nuovo\\ca3idch5.jpg nome originale del file remoto: dimensioni del file in byte: tipo di file: -------------------------------------------------------------------------------- Invio del file fallito leggi gli annunci |
|
|
|
|
|
#7 (permalink) | |
|
User
Data di registrazione: Sep 2005
Messaggi: 19
|
Quote:
Oddio,non saprei come fare. Adesso mi odi vero?Ti riferisci alla directory dove salvare le foto? Ho specificato una directory,ma non funge lo stesso $path="/annunci/foto"; | |
|
|
|
|
|
#9 (permalink) |
|
User
Data di registrazione: Sep 2005
Messaggi: 19
|
Ciao,eccomi dal momento che sto provando su un sito su altervista il mio path assoluto è $path="/membri/djperfeste/annunci/foto"; ,ma non funge aspita.
http://forum.altervista.org/showthre...=path+assoluto <------ il path è giusto da quello che dicono qui. |
|
|
|
|
|
#11 (permalink) | |
|
User Attivo
|
Quote:
Prova lì sae ti aiutano, magari dopo ci dici come è andata | |
|
__________________
Sitozzo esperimentalozzo - Beta Testing |
||
|
|
|
|
|
#12 (permalink) |
|
User
Data di registrazione: Sep 2005
Messaggi: 19
|
Ci sono gia messaggi sul forum di altervista e tutti dicono la stessa cosa cioe' che il path assoluto è /membri/nick ecco i risultati http://forum.altervista.org/showthre...=path+assoluto
Oddio non vorrei dire cavolate perche' non capisco praticamente quasi nulla in php,ma l'hai provato sul tuo server? Odiami pure ehhhhh Ho fatto comunque un post in altervista anche |
|
|
|