Newsgroup: it.arti.musica.strumenti.chitarra
Titolo: [OT] esperti php?

mi servirebbe uno scriptino per uppare i files su un sito.
qualche aiuto? 

 qualche aiuto?
FireFTP
-- 
Straitouttahell
Oggi la tua GAS dove ti ha condotto?
http://strait.altervista.org
http://www.myspace.com/straitouttahell
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 FireFTP
è per una pagina html, un amico mi ha chiesto una mano per avere la 
possibilità di uppare files..
ci sto lavorando ma sono inesperto col php e il file mi rimane nella 
cartella temporanea del server e non riesco a muoverlo e metterlo nel path 
che dico io 


http://www.lukeonweb.net/366.asp
una cosa del genere?


esattamente.
adesso provo questo script, ma ne sto usando di simili e credo che la 
funzione move_upload_file() non metta il file dove dico io... che sia un 
problema di permessi?

 
sì
-- 
Nuno on zx-6r '04 & CR 250 '98 working in progress...
E abbiam montato l'autovelox e fatto multe senza pietà
A chi passava sopra i 50 fossero pure i 50 di età 
*** 
www.gladio.org
 ***

 sě
ok come lo risolvo? ;-) 

 qualche aiuto?
Io ho usato questo (GetDownNow):
http://www.advancescripts.com/detailed/5180.html
Ma visto che l'ho usato e configurato diversi anni, non saprei dirti se č 
buono. A me funzionava benino, almeno per le mie esigenze... 



chmod 777 /cartella_in_cui_muovi_i_files
perň presumo che tu non abbia un accesso shell, in quest'ultimo caso puoi
usare la funzione equivalente di client ftp grafici tipo filezilla.


io sto usando dreamweaver, setto i permessi a "777" alla cartella in 
questione, ma se poi ci riclicco sopra i permessi tornano a 666 (il nuemero 
della bestia dovevo dirlo HAEhah).
scusa la niubbaggine 

potrei provare a settare i permessi con ssh? 

 
in che senso? con ssh al limite ti colleghi al server
perchè credi che sia un problema di permessi?
Perché invece non provi a descrivere quello che fai e l'errore che hai?

 chmod 777 /cartella_in_cui_muovi_i_files
777 ?
Ma perche' devi dare scrittura e eseguibilita' a gruppo e others?
E che la maschera sia settata per rendere i nuovi files solo leggibili
e scrivibili dal solo propietario (= lo user sotto cui gira il server web).
Chiedi al webmaster e te lo fai fare da lui, sara' ben felice
di digitare due comandi piuttosto che avere un buco simile...
(augurandosi che non abbia execute e suid sul filesystem della 
directory web)
Scrivi al supporto, saluti.
/Andrea


adesso devo andare via, appena ho un attimo spiego meglio ;-)
cmq penso che sia un problema di permessi perchè se uso easyPHP con apache e 
provo a fare andare lo script in locale funziona tutto per bene, prende il 
file e me lo sposta nella cartella desiderata.

 Ma perche' devi dare scrittura e eseguibilita' a gruppo e others?
Perché l'utente web solitamente è www-data (gruppo www-data) che è diverso
dall'utente abilitato all'ftp.
Ciao.
G.


ok, l'ultimo script che sto usando è questo:
<?php
$dimensione_massima=1024000; //dimensione massima consentita per file in 
byte -> 1024 byte = 1 Kb
$dimensione_massima_Kb=$dimensione_massima/1024;
$cartella_upload="./"; //cartella in cui eseguire l'upload (controllare 
permessi scrittura)
// percorso cartella relativo $cartella_upload="../public/";
$filtrare=1; //filtrare x estensioni ammesse? 1=si 0=no
$array_estensioni_ammesse=array('.jpg','.jpeg','.gif','.png'); //estensioni 
ammesse
if(!isset($_FILES['file1']) || $_FILES['file1']['size']==0){
 echo "Nessun file selezionato per l'upload";
}elseif($_FILES['file1']['size']>$dimensione_massima){
 echo "Il file selezionato per l'upload supera dimensione massima di 
$dimensione_massima_Kb Kb";
}else{
 $nome_file=$_FILES['file1']['name'];
 $errore="";
 if($filtrare==1){
  $estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), 
strlen($nome_file)-strrpos($nome_file, ".")));
  if(!in_array($estensione,$array_estensioni_ammesse)){
   $errore.="Upload file non ammesso. Estensioni ammesse: ".implode(", 
",$array_estensioni_ammesse)."<br/>";
  }
 }
 if(!file_exists($cartella_upload)){
  $errore.="La cartella di destinazione non esiste</br>";
 }
 if($errore==""){
  if(move_uploaded_file($_FILES['file1']['tmp_name'], 
$cartella_upload.$_FILES['file1']['name'])){
   chmod($cartella_upload.$_FILES['file1']['name'],0777); //permessi per 
poterci sovrascrivere/scaricare
   echo "Operazione eseguita con successo. Upload riuscito.";
  }
  else{
   echo "Impossibile effettuare l'upload del file";
  }
 }else{
  echo $errore;
 }
}
?>
credo, e ripeto, credo, che il problema dopo l'if(move_uploaded_file ecc 
ecc....) perchè mi dice "impossibile effettuare l'upload dei files", quindi 
nell'if entra perchè $errore=="", ma move_uploaded_file non va a buon fine e 
quindi va nel ramop else... 

 quindi va nel ramop else...
Tutto dipende da da chi ti fornisce lo spazio web.
Se utilizzi aruba su un server windows ad esempio non puoi dare i permessi
su cartelle. Ti creano loro 1a cartella "public" con permessi 777.
Diverso se utilizzi Unix,in questo caso puoi decidere tu i permessi da
attuibuire. Informati in questo senso...
-- 
I.M.D. faq-you and menimanimor: 
http://indec.altervista.org
 
Magnt Quisht! 
Io Voto Cina!
L.F.N.E.
http://img300.imageshack.us/img300/3158/untitledip8.png
Io ti schifo.

 quindi va nel ramop else...
Il chmod lo dovresti fare prima della move, non dopo e soprattutto sulla
cartella di upload, non sul file.
In ogni caso il chmod probabilmente fallirà perché nel momento
dell'esecuzione non sei il proprietario della directory.
Hai provato con filezilla?

 Hai provato con filezilla?
con dreamweaver apro la finestra del sito remoto e copio tutto 
tranquillamente nella cartella in questione...
devo provare con filezilla lo stesso?

 permessi 777.
questo è il mio caso.
ma credo di aver provato anche a mettere i files sulla cartella public ma 
non deve aver funzionato...
ora riprovo


ragazzi ho risolto!!!
semplicemente, essendo poco pratico di queste cose, sbagliavo cartella :-D
mi sono posizionato nella cartella giusta che evidentemente ha i permessi a 
posto e va tutto liscio!!
grazie a tutti delle risposte e della pazienza 

 G.
Ok io sono una brutta persona.
Cambia l'id con cui ftp (debian? quindi vsftpd? ) salva.
Spegni ftp, solo ssh/sftp o svn o rsync+ssh o quello che vuoi ma non in
chiaro (se l'utente ha una shell di sistema).
Se hai una cartella in cui fai l'upload di file via php 
che sia montata noexec,nosuid .
Oh be' ho rotto le scatole abbastanza, ora sono contento.
Buon divertimento.
/Andrea