beh non so, ridimensionamento automatico magari di modo ke io do delle dimensioni standard?
beh non so, ridimensionamento automatico magari di modo ke io do delle dimensioni standard?
ho fatto qst...non l'ho rpovato ma dovrebbe andre:
Codice PHP:
<?php
$db_host = "localhost";
$db_user = "cisafcomo";
$db_password = "***";
$db_name = "my_cisafcomo";
$percorso = "/foto/";
$maxheight="150";
$maxwidth="100";
function verifica($file){
$estensione = strtolower(substr($file, -4));
if($estensione == ".gif" || $estensione == ".jpg" || $estensione == "jpeg" || $estensione == ".png" || is_dir($file)){
return true;
}
return false;
}
if($_FILES["foto"]["error"]==UPLOAD_ERR_OK && verifica($_FILES['foto']['name'])){
list($w, $h)=getimagesize($_FILES['foto']['tmp_name']);
if($w>$maxwidth || $h>$maxheight){
$percent1 = $w / $maxwidth;
$percent2 = $h / $maxheight;
$percent = max($percent1,$percent2);
$new_height = round($h /$percent);
$new_width = round($w /$percent);
$im = ImageCreateTrueColor($new_width, $new_height);
$image = ImageCreateFromJpeg($_FILES['foto']['tmp_name']);
imagecopyresampled($im, $image, 0, 0, 0, 0, $new_width, $new_height, $w, $h);
imagejpeg ($im, $_SERVER['DOCUMENT_ROOT'].$percorso.$_FILES['foto']['name']);
}else{
move_uploaded_file($_FILES['foto']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].$percorso.$_FILES['foto']['name']) or die("Impossibile Uploadare il file!");
}
$db = mysql_connect($db_host, $db_user, $db_password) or die ("Impossibile Connettersi al Database");
mysql_select_db($db_name, $db);
$query="INSERT INTO tabella (foto) VALUES ('http://cisafcomo.altervista.org".$percorso.$_FILES['foto']['name']."')";
mysql_query($query, $db);
}
?>
io ho provato a fare copia ed incolla di questo script ma non mi da niente la pagina è totalmente bianca guardaOriginalmente inviato da SoulHome
pagina
nelal pagina che hai linkato manca il submit e poi l'input file si deve chiamare foto e poi se l'inseramento funge correttamente non viene restituito nulla...
ps
ovviamentelo devi modificare insernedo i dati del tuo database
ri butta un okkio sul link sopra a me non funiziona lo stesso
a me va... vedo la barra dell'uploadOriginalmente inviato da cisafcomo
ah..si...su altervista invece della var $_SERVER['DOCUMENT_ROOT'] si deve usare: substr($_SERVER['SCRIPT_FILENAME'], 0, -(strlen($_SERVER['SCRIPT_URL'])-1));
Codice PHP:
<?php
$db_host = "localhost";
$db_user = "cisafcomo";
$db_password = "***";
$db_name = "my_cisafcomo";
$percorso = "foto/";
$maxheight="150";
$maxwidth="100";
function verifica($file){
$estensione = strtolower(substr($file, -4));
if($estensione == ".gif" || $estensione == ".jpg" || $estensione == "jpeg" || $estensione == ".png"){
return true;
}
return false;
}
if(verifica($_FILES['foto']['name'])){
list($w, $h)=getimagesize($_FILES['foto']['tmp_name']);
if($w>$maxwidth || $h>$maxheight){
$percent1 = $w / $maxwidth;
$percent2 = $h / $maxheight;
$percent = max($percent1,$percent2);
$new_height = round($h /$percent);
$new_width = round($w /$percent);
$im = ImageCreateTrueColor($new_width, $new_height);
$image = ImageCreateFromJpeg($_FILES['foto']['tmp_name']);
imagecopyresampled($im, $image, 0, 0, 0, 0, $new_width, $new_height, $w, $h);
imagejpeg ($im, substr($_SERVER['SCRIPT_FILENAME'], 0, -(strlen($_SERVER['SCRIPT_URL'])-1)).$percorso.$_FILES['foto']['name']);
}else{
move_uploaded_file($_FILES['foto']['tmp_name'], substr($_SERVER['SCRIPT_FILENAME'], 0, -(strlen($_SERVER['SCRIPT_URL'])-1)).$percorso.$_FILES['foto']['name']) or die("Impossibile Uploadare il file!");
}
$db = mysql_connect($db_host, $db_user, $db_password) or die ("Impossibile Connettersi al Database");
mysql_select_db($db_name, $db);
$query="INSERT INTO tabella (foto) VALUES ('http://".$_SERVER['HTTP_HOST']."/".$percorso.$_FILES['foto']['name']."')";
mysql_query($query, $db);
}
?>
oooooooook ora l'upload funziona ora controllo il database
grazie
ooooooooook funziona tutto
grazie
Ultima modifica di cisafcomo : 21-05-2006 alle ore 17.41.02
Ottimo lavoro soulhome: due utenti soddisfatti con un solo script!
Chiudo.
Il thread è stato riaperto su richiesta di stexe.
@stexe: non so se tu l'abbia fatto in quanto ho letto la tua mail solo ora, comunque la prossima volta prova a mandare un PM ad un moderatore che vedi in linea, sicuramente l'apertura sarà molto più veloce. ciao!
Ultima modifica di seneca : 21-06-2006 alle ore 16.59.46
-- Aut Roma Aut Nihil!
- --> Progetto Wallpaper: centinaia di sfondi free (simpsons, dragonball, animali, sport, arte...)
- --> Versioni latine e storia romana: COMING SOON!
- --> Sono disponibile per scambio banner 88*31, no siti in costruzione
ok, grazie... allora prima cosa... guardate quì: http://stexe.altervista.org/spacegallery/index.php e fate accesso nella Gestione Space Gallery (collegamento posto in alto a sinistra) provate a inserire username e password sbagliate, dovo averle inserite, ovviamente sbagliate, una parte di quello che si dovrebbe vedere solamente all'accesso corretto... c'è qualche errorino....
questo è il codice:
poi se l'utente sbaglia a inserire username e password, al tentativo successivo, non viene più fuori la finestra di login, ma riapre la pagina sbagliata di prima... (almeno, con firefox, con IE non ho provato se fa lostesso)Codice PHP:
<center><b>UPLOADER</b></center>
<p>
Seleziona le immagini da uplodare e i loro relativi percorsi di upload:
<?php
session_start();
require_once("data.php");
require_once("maxspace.php");
error_reporting(0);
function verifica($file){
$estensione = strtolower(substr($file, -4));
if($estensione == ".gif" || $estensione == ".jpg" || $estensione == "jpeg" || $estensione == ".png" || is_dir($file)){
return true;
}
return false;
}
function myRead($cartella){
global $percorso;
$dir=opendir($cartella);
while ($file = readdir($dir)){
if($file != "." && $file != ".." && is_dir($cartella.$file)){
$percorso[] = $cartella.$file."/";
myRead($cartella.$file."/");
}
}
}
myRead("album/");
$size = 0;
function myCount($cartella){
global $size;
$cartella .= "/";
$dir=opendir($cartella);
while ($file = readdir($dir)){
if($file != "." && $file != ".." && is_dir($cartella.$file)){
myCount($cartella.$file);
}elseif(!is_dir($cartella.$file) && verifica($cartella.$file)){
$size += filesize($cartella.$file);
}
}
closedir($dir);
return;
}
myCount("album");
if (!isset($_SERVER['PHP_AUTH_USER']) && !$_SESSION['log']) {
header('WWW-Authenticate: Basic realm="Upload immagini"');
header('HTTP/1.0 401 Unauthorized');
exit;
}elseif($_SESSION['log'] && isset($_FILES['fil'])){
foreach ($_FILES["fil"]["error"] as $key => $error) {
$size += $_FILES['fil']['size'][$key];
if ($error == UPLOAD_ERR_OK && ($size < $maxspace) && verifica($_FILES['fil']['name'][$key])) {
$tmp_name = $_FILES["fil"]["tmp_name"][$key];
$name = $_FILES["fil"]["name"][$key];
move_uploaded_file($tmp_name, $percorso[$_POST['path'][$key]] . $_FILES['fil']['name'][$key]) or die("Impossibile Uploadare il file!");
}elseif(!verifica($_FILES['fil']['name'][$key])){
die("<script>alert('Puoi Uploadare solo immagini'); location.href='uploader.php'</script>");
}else{
die("<script>alert('Spazio Esaurito'); location.href='uploader.php'</script>");
}
echo "<script>alert('File Uploadato'); location.href='uploader.php'</script>";
}
}elseif(($_SERVER['PHP_AUTH_USER'] == USER && $_SERVER['PHP_AUTH_PW'] == PASS) || $_SESSION['log']){
$_SESSION['log'] = true;
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;CHARSET=iso-8859-1" />
<title>Upload</title>
</head>
<body>
<form method="post" enctype="multipart/form-data" />
<input type="file" name="fil[]" size="30" /><br />
<fieldset>
<legend>Percorso</legend>
<select name="path[]" >
<?php
for($x=0, $y=count($percorso); $x<$y; $x++){
?>
<option value="<?= $x ?>"><?= substr(strstr($percorso[$x], "/"), 1); ?> </option>
<?php
}
?>
</select>
</fieldset>
<input type="file" name="fil[]" size="30" /><br />
<fieldset>
<legend>Percorso</legend>
<select name="path[]" >
<?php
for($x=0, $y=count($percorso); $x<$y; $x++){
?>
<option value="<?= $x ?>"><?= substr(strstr($percorso[$x], "/"), 1); ?> </option>
<?php
}
?>
</select>
</fieldset>
<input type="file" name="fil[]" size="30" /><br />
<fieldset>
<legend>Percorso</legend>
<select name="path[]" >
<?php
for($x=0, $y=count($percorso); $x<$y; $x++){
?>
<option value="<?= $x ?>"><?= substr(strstr($percorso[$x], "/"), 1); ?> </option>
<?php
}
?>
</select>
</fieldset>
<input type="submit" name="Submit" value="Invia" />
</form>
<br />
Spazio occupato:<?= round(($size/($maxspace/100))).'%'?>
<div style="height: 10px; width: 200px; background:yellow"><div style="background: red; height: 100%; width: <?= round(($size/($maxspace/100))).'%'?>;"></div></div>
In totale hai a disposizione 25Mb
<p>
<a href="admin.php">Admin Panel</a>
</body>
</html>
<?php
}else{
header('HTTP/1.0 403 Forbidden');
}
?>
contiua sotto (il messaggio era troppo lungo per essere postato in 1)
poi un'altra cosa:
all'accesso con dati giusti
x prova
username= user
password= pass
la barra di occupamento dello spazio, nella pagina dell'uploader viene visualizzate correttamente mente nella pagina di amministrazione è visibile ma non funzionante, segnala sempre 0% spazio occupato...
questa è la pagina di amministrazione:
cosa devo correggere?Codice PHP:
<b><center>Admin Pannel</center></b>
<p>
<?php
session_start();
require_once("data.php");
require_once("maxspace.php");
error_reporting(0);
$size = 0;
function myCount($cartella){
global $size;
$dir=opendir($cartella);
while ($file = readdir($dir)){
if($file != "." && $file != ".." && is_dir($cartella.$file)){
myCount($cartella.$file);
}elseif(!is_dir($cartella.$file) && verifica($cartella.$file)){
$size += filesize($cartella.$file);
}
}
closedir($dir);
return;
}
function myDel($cartella){
$cartella .= "/";
$dir=opendir($cartella);
while ($file = readdir($dir)){
if($file != "." && $file != ".." && is_dir($cartella.$file)){
myDel($cartella.$file);
}elseif(!is_dir($cartella.$file)){
unlink($cartella.$file);
}
}
closedir($dir);
rmdir($cartella);
}
function myCha($cartella, $dire){
$cartella .= "/";
mkdir($dire.basename($cartella));
$dir=opendir($cartella);
while ($file = readdir($dir)){
if($file != "." && $file != ".." && is_dir($cartella.$file)){
mkdir($dire.basename($cartella)."/");
myCha($cartella.$file, $dire.basename($cartella)."/");
}elseif(!is_dir($cartella.$file)){
copy($cartella.$file, $dire.basename($cartella)."/".basename($file));
unlink($cartella.$file);
}
}
closedir($dir);
rmdir($cartella);
}
function myRead($cartella){
global $percorso;
$dir=opendir($cartella);
while ($file = readdir($dir)){
if($file != "." && $file != ".." && is_dir($cartella.$file)){
$percorso[] = $cartella.$file."/";
myRead($cartella.$file."/");
}
}
}
function verifica($file){
$estensione = strtolower(substr($file, -4));
if($estensione == ".gif" || $estensione == ".jpg" || $estensione == "jpeg" || $estensione == ".png" || is_dir($file)){
return true;
}
return false;
}
if($_SESSION['log'] && isset($_POST['newpass']) && $_POST['newpass'] == $_POST['ctrl'] && $_POST['oldpass'] == PASS){
$hand=fopen('data.php', "w");
flock($hand, LOCK_EX);
fwrite($hand, "<?php\n define(\"USER\", \"".USER."\");\n define(\"PASS\", \"".$_POST['ctrl']."\");\n?>");
flock($hand, LOCK_UN);
fclose($hand);
}elseif($_SESSION['log']){
if(!isset($_GET['directory']) || strpos($_GET['directory'],"..") !== false || strlen($_GET['directory']) < strlen("album/")){
$cartella ="album/";
}else{
$cartella =$_GET['directory'];
}
myRead("album/");
$_POST['per'] = $percorso[$_POST['per']];
if($_POST['cmd']=="Elimina"){
$filess=array_values($_POST['files']);
for($r=0, $d=count($filess); $r<$d; $r++){
if(!is_dir($filess[$r]) && strpos($filess[$r],"..") !== false){
unlink($filess[$r]);
}elseif(strpos($filess[$r],"..") !== false){
myDel($filess[$r]);
}
}
}elseif($_POST['cmd']=="Sposta" && $_POST['per'] != $cartella){
if(strpos($_GET['per'],"..") !== false){
$_GET['per'] ="album/";
}
$filess=array_values($_POST['files']);
for($r=0, $d=count($filess); $r<$d; $r++){
if(!is_dir($filess[$r])){
copy($filess[$r], $_POST['per'].basename($filess[$r]));
unlink($filess[$r]);
}else{
myCha($filess[$r], $_POST['per']);
}
}
}elseif($_POST['cmd']=="Crea Cartella"){
mkdir($cartella.$_POST['nome']);
}
myCount("album/");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;CHARSET=iso-8859-1" />
<title>Admin Panel</title>
</head>
<body>
<fieldset>
<legend>Cambia password</legend>
<form method="post">
Vecchia Password: <input type="password" name="oldpass" /><br />
Nuova Password: <input type="password" name="newpass" /><br />
Conferma: <input type="password" name="ctrl" /><br />
<input type="submit" value="Cambia" />
</form>
</fieldset>
<fieldset>
<legend>Gestione Files</legend>
<form method="post">
<img src="back.gif" /><a href="<?= $_SERVER['SCRIPT_NAME']."?directory=".substr($cartella, 0,strrpos(substr($cartella,0,-1), "/")+1) ?>">Cartella Superiore</a><br /><br />
<?
$f=0;
$dir=opendir($cartella);
while ($file = readdir($dir)){
if($file != "." && $file != ".." && verifica($cartella.$file)){
?>
<img src="<?= (is_dir($cartella.$file)) ? "folder.gif" : "generic.gif" ?>" /><a href="<?= (is_dir($cartella.$file)) ? $_SERVER['SCRIPT_NAME']."?directory=".$cartella.$file."/" : $cartella.$file ?>"> <?= $file ?></a><input name="files[<?=$f?>]" type="checkbox" value="<?= $cartella.$file ?>"> <br />
<?php
$f++;
}
}
closedir($dir);
?>
<input type="submit" name="cmd" value="Elimina" /><br />
Nuova Cartella: <input type="text" name="nome" />
<input type="submit" name="cmd" value="Crea Cartella" /><br />
Nuovo Percorso: <select name="per" >
<?php
for($x=0, $y=count($percorso); $x<$y; $x++){
?>
<option value="<?= $x ?>"><?= substr(strstr($percorso[$x], "/"), 1); ?> </option>
<?php
}
?>
</select>
<input type="submit" name="cmd" value="Sposta" />
</form>
</fieldset><br />
Spazio occupato:<?= round(($size/($maxspace/100))).'%'?>
<div style="height: 10px; width: 200px; background:yellow"><div style="background: red; height: 100%; width: <?= round(($size/($maxspace/100))).'%'?>;"></div></div>
In totale hai a disposizione 25Mb
</body>
</html>
<?php
}else{
header('HTTP/1.0 403 Forbidden');
echo "Accesso non consetnito";
}
?>
<p>
<b><a href="uploader.php">Torna all'uploader</a></b></center>
grazie!
ciao.
allora il primo problema non è dovuto ad un errore nello scirpt ma smeplicmente al fatto ke le modifiche ke hai apportato (<center><b>UPLOADER</b></center> etc..) le avresti dovute mettere nei tag<html> e non all'inizio del file, così forse risolverai anche il secondo problema...il terzo è molto strano e così ad occhio non riesoc a capire dove sia il problema...comunque poi edito
edit:
usando il mio codeice originale il terzo problema non si rpesenta...
per quanto riguarda il seocndo ripensandoci è normale che sia così perchè vinee usata l'autenticazione http...credo sia anche più sicuro....comunque se vuoi posso provare a modificarlo...
Ultima modifica di SoulHome : 21-06-2006 alle ore 20.56.54
aiutate anke me vi prego... devo organizzare uno script di upload di file per poterli scambiare tra utenti registrati al mio sito cmq mi serve uno script di upload che sia il più semplice possibile, semplicissimo... non controllo sulle estensioni, non uso di db, non controllo dimensioni, da uploadare nella stessa cartella della pagina php, un file alla volta, non protetto da pass... aiutatemi vi prego è vitale mi serve il più presto possibile
Prova a guardare qui se c'è qualcosa che ti interessa.Originalmente inviato da ellerowebsite
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen
quello l'avevo già consultato. sei sicuro che funzioni su altervista?
poi mi pare che bisogna mettere anche delle path da cui prende i file temp...
insomma nn so come settare...
Mah..per fare l'upload basta usare la funzione move_uploaded_file();
Dovrebbero funzionare tutti, prova a sceglierne uno e poi ti aiutiamo a configurarlo.Originalmente inviato da ellerowebsite
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen
intanto ho finito il resto del sito... ora mi manca solo quello.
è che oltre a fare copia incolla vorrei capire cosa succede dietro allo script. Mi potete anche spiegare?
risolto! non avevo messo la path! /membri/mionick
scusate tutti x il disturbo
Ultima modifica di ellerowebsite : 11-08-2006 alle ore 18.46.12