joyboyss · 06/08/2005 16:29 · #1Ho un problema sul mio portale http://keropinet.dyndns.org
vorrei fornire servizio di webhosting, ed ho trovato degli script in perl già pronti ai quali ho effetuate le modifiche richieste.
Tutto ok per quanto riguarda la creazione e il riconoscimento degli account, nonchè il trasferimento di files txt, log, bin, doc, e altri.
Ma quando vado a fare l' upload di immagini, zips, exe, o altri generi di files il browser rimane in 'connecting...'.
Nel codice perl non c' é nessuna limitazione, il settaggio del tipo dii trasferimento mi sembra corretto, a questo punto sospetto sia un errore dello script o dell' installazione di perl, che peraltro ho eseguito seguendo alla lettere la guida fornita assieme al linguaggio.
Chi volesse provare, entrate nel portale, e nella parte basa del menu a sinistra seguite i link Iscriviti e poi Il tuo spazio.
Provate a fare uploads vari e verificate.
Chiunque possa darmi una mano é benaccetto, contattatemi in pvt o per email e fornirò uno zip contenente gli script utilizzati.
Ringrazio anticipatamente.
Gitan · 06/08/2005 19:10 · #2Hai controllato i permessi della cartella in cui esegui l'upload del file?
PS. Comunque potevi anche evitare di scrivere il nome del tuo portale, era molto meglio il link allo script in perl
joyboyss · 06/08/2005 21:03 · #3I permessi? si tratta del mio pc di casa, montante windows2000 s.p.3 eseguito con diritto di amministratore. Non ci dovrebbero essere problemi di permessi. Nel caso i permessi permettono i txt e bloccano le immagini?
Gitan · 06/08/2005 22:47 · #4Allora basta che la directory abbia i permessi di scrittura ed hai risolto.
joyboyss · 07/08/2005 13:03 · #5No qui non ho risolto niente, non é questione di permessi, se volete esaminate gli script o provate in prim apersona cosa succede provando a fare gli uploads.
Gitan · 07/08/2005 14:37 · #6Ti pasto uno script in php che uso io in locale:
<?php
//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv vvvvvvvvvv
// You may change maxsize, and allowable upload file types.
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^
//Mmaximum file size. You may increase or decrease.
$MAX_SIZE = 2000000000000000;
//Allowable file Mime Types. Add more mime types if you want
$FILE_MIMES = array('image/jpeg','image/jpg','image/gif'
,'image/png','application/msword','text/plain');
//Allowable file ext. names. you may add more extension names.
$FILE_EXTS = array('.jpg', '.gif', '.png', '.avi', '.mpg', '.mpeg', '.wmv', '.zip', '.rar', '.tar.gz', '.c', '.h', '.mp3' , '.txt' );
//Allow file delete? no, if only allow upload only
$DELETABLE = false;
//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv vvvvvvvvvv
// Do not touch the below if you are not confident.
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^
/************************************************** **********
* Setup variables
************************************************** **********/
$site_name = $_SERVER['HTTP_HOST'];
$url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
$url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$upload_dir = "files/";
$upload_url = $url_dir."/files/";
$message ="";
/************************************************** **********
* Create Upload Directory
************************************************** **********/
if (!is_dir("files")) {
if (!mkdir($upload_dir))
die ("upload_files directory doesn't exist and creation failed");
if (!chmod($upload_dir,0755))
die ("change permission to 755 failed.");
}
/************************************************** **********
* Process User's Request
************************************************** **********/
if ($_REQUEST[del] && $DELETABLE) {
$resource = fopen("log.txt","a");
fwrite($resource,date("Ymd h:i:s")."DELETE - $_SERVER[REMOTE_ADDR]"."$_REQUEST[del]\n");
fclose($resource);
if (strpos($_REQUEST[del],"/.")>0);
else if (strpos($_REQUEST[del],"files/") === false);
else if (substr($_REQUEST[del],0,6)=="files/") {
unlink($_REQUEST[del]);
print "<script>window.location.href='$url_this?message=deleted successfully'</script>";
}
}
else if ($_FILES['userfile']) {
$resource = fopen("log.txt","a");
fwrite($resource,date("Ymd h:i:s")."UPLOAD - $_SERVER[REMOTE_ADDR]"
.$_FILES['userfile']['name']." "
.$_FILES['userfile']['type']."\n");
fclose($resource);
$file_type = $_FILES['userfile']['type'];
$file_name = $_FILES['userfile']['name'];
$file_ext = strtolower(substr($file_name,strrpos($file_name,".")));
//File Size Check
if ( $_FILES['userfile']['size'] > $MAX_SIZE)
$message = "The file size is over 2MB.";
//File Type/Extension Check
else if (!in_array($file_type, $FILE_MIMES)
&& !in_array($file_ext, $FILE_EXTS) )
$message = "Sorry, $file_name($file_type) is not allowed to be uploaded.";
else
$message = do_upload($upload_dir, $upload_url);
print "<script>window.location.href='$url_this?message=$message'</script>";
}
else if (!$_FILES['userfile']);
else
$message = "Invalid File Specified.";
function do_upload($upload_dir, $upload_url) {
$temp_name = $_FILES['userfile']['tmp_name'];
$file_name = $_FILES['userfile']['name'];
$file_name = str_replace("\\","",$file_name);
$file_name = str_replace("'","",$file_name);
$file_path = $upload_dir.$file_name;
//File Name Check
if ( $file_name =="") {
$message = "Invalid File Name Specified";
return $message;
}
$result = move_uploaded_file($temp_name, $file_path);
if (!chmod($file_path,0755))
$message = "change permission to 755 failed.";
else
$message = ($result)?"$file_name uploaded successfully." :
"Somthing is wrong with uploading a file.";
return $message;
}
?>
<center>
<?=$_REQUEST[message]?>
<br>
<form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post">
Upload File <input type="file" id="userfile" name="userfile">
<input type="submit" name="upload" value="Upload">
</form>