PDA

View Full Version : آپلود



hashem64
دوشنبه 05 فروردین 1392, 05:16 صبح
دوستان عزیز میتونید این آپلود سنتر را برای من تغییرات بدید



<?
$paths="www/cp";
$ftp_server = "site.com";
$ftp_user_name = "wwaea";
$ftp_user_pass = "1111111111";
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if ((!$conn_id) || (!$login_result)) {
echo "اتصال به FTP، با خطا مواجه شدیم!";
echo "تلاش برای اتصال به $ftp_server و کاربر $ftp_user_name....";
exit;
} else {
echo " با موفقیت به سرور متصل شد .".".....";
}

if(!isset($_POST["submit"])){?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="rtl" lang="fa">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head><body>

<form action="upload.php" method="POST" enctype="multipart/form-data">
<table align="center">

<tr>
<td align="right">
انتخاب فایل:
</td>
<td>
<input name="userfile[]" type="file" size="50">

</td>
</tr>
</table>
<table align="center">
<tr>
<td align="center">
<input type="submit" name="submit" value="آپلود" />
</td>
</tr>
</table>
</form></body></html>
<?}


else
{

set_time_limit(300);

$filep=$_FILES['userfile']['tmp_name'];
$name=$_FILES['userfile']['name'];



for( $i = 0 ; $i < count( $_FILES['userfile'] ) ; $i++ )
{
$filep = $_FILES['userfile']['tmp_name'][$i];
$name = $_FILES['userfile']['name'][$i];
$upload = ftp_put( $conn_id , $paths . '/' . $name , $filep , FTP_BINARY );

}

if (!$i) {
echo " آپلود با خظا روبه رو شد !";
} else {


echo " آپلود کامل شد . $ftp_server";
}



ftp_close($conn_id);

}
?>



میخواستم فقط فایل mp3 و هر فایل که آپلود میکنه حجمش بیشتر از 20 مگ نباشه


دستتون درد نکنه

2undercover
دوشنبه 05 فروردین 1392, 11:01 صبح
می تونید مرحله آپلود رو توی این بلوک if قرار بدید:



if($_FILES['file']['size']>20971520)
{
// The file size is more than 20 MB
echo 'فایل مورد نظر شما بزرگتر از 20 مگابایت است!';
}
else
{
// Upload The file
}

hashem64
دوشنبه 05 فروردین 1392, 13:39 عصر
دققا نمیدونم این شرط ها را کجا باید بزارم وگرنه تا حالا درست میکردمش

میشه عزیزان بیشتر راهنمایی کنند ؟>

boysilent
دوشنبه 05 فروردین 1392, 15:42 عصر
<?
$paths="www/cp";
$ftp_server = "site.com";
$ftp_user_name = "wwaea";
$ftp_user_pass = "1111111111";
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if ((!$conn_id) || (!$login_result)) {
echo "اتصال به FTP، با خطا مواجه شدیم!";
echo "تلاش برای اتصال به $ftp_server و کاربر $ftp_user_name....";
exit;
} else {
echo " با موفقیت به سرور متصل شد .".".....";
}

if(!isset($_POST["submit"])){?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="rtl" lang="fa">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head><body>

<form action="upload.php" method="POST" enctype="multipart/form-data">
<table align="center">

<tr>
<td align="right">
انتخاب فایل:
</td>
<td>
<input name="userfile[]" type="file" size="50">

</td>
</tr>
</table>
<table align="center">
<tr>
<td align="center">
<input type="submit" name="submit" value="آپلود" />
</td>
</tr>
</table>
</form></body></html>
<? }


else
{

set_time_limit(300);

$filep=$_FILES['userfile']['tmp_name'];
$name=$_FILES['userfile']['name'];
if($_FILES['file']['size']>20971520)
{
// The file size is more than 20 MB
echo 'فایل مورد نظر شما بزرگتر از 20 مگابایت است!';
}
else
{
// Upload The file



for( $i = 0 ; $i < count( $_FILES['userfile'] ) ; $i++ )
{
$filep = $_FILES['userfile']['tmp_name'][$i];
$name = $_FILES['userfile']['name'][$i];
$upload = ftp_put( $conn_id , $paths . '/' . $name , $filep , FTP_BINARY );

}

if (!$i) {
echo " آپلود با خظا روبه رو شد !";
} else {


echo " آپلود کامل شد . $ftp_server";
}



ftp_close($conn_id);
}
}
?>

hashem64
دوشنبه 05 فروردین 1392, 23:51 عصر
عزیز این کدی که ساختید متاسفانه درست جواب نمیده یعنی اصلا وقتی آپلود میکنیم شروع میکنه به آپ و خطا هم نمیده که فایل بیشتر از 20 مگ هست

boysilent
سه شنبه 06 فروردین 1392, 09:55 صبح
عزیز این کدی که ساختید متاسفانه درست جواب نمیده یعنی اصلا وقتی آپلود میکنیم شروع میکنه به آپ و خطا هم نمیده که فایل بیشتر از 20 مگ هست
اینو تست کن اگه نشد؟باسیت وایسی تا اساتید بیان:بامزه:

<?
$paths="www/cp";
$ftp_server = "site.com";
$ftp_user_name = "wwaea";
$ftp_user_pass = "1111111111";
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if ((!$conn_id) || (!$login_result)) {
echo "اتصال به FTP، با خطا مواجه شدیم!";
echo "تلاش برای اتصال به $ftp_server و کاربر $ftp_user_name....";
exit;
} else {
echo " با موفقیت به سرور متصل شد .".".....";
}

if(!isset($_POST["submit"])){?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="rtl" lang="fa">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head><body>

<form action="upload.php" method="POST" enctype="multipart/form-data">
<table align="center">

<tr>
<td align="right">
انتخاب فایل:
</td>
<td>
<input name="userfile" type="file" size="50">

</td>
</tr>
</table>
<table align="center">
<tr>
<td align="center">
<input type="submit" name="submit" value="آپلود" />
</td>
</tr>
</table>
</form></body></html>
<? }


else
{

set_time_limit(300);

$filep=$_FILES['userfile']['tmp_name'];
$name=$_FILES['userfile']['name'];
$file_size = $_FILES['userfile']['size'];


if (($file_size >= 20971520)){
$message = 'File too large. File must be less than 20 megabytes.';
echo '<script type="text/javascript">alert("'.$message.'");</script>';
}
else
{
// Upload The file



for( $i = 0 ; $i < count( $_FILES['userfile'] ) ; $i++ )
{
$filep = $_FILES['userfile']['tmp_name'][$i];
$name = $_FILES['userfile']['name'][$i];
$upload = ftp_put( $conn_id , $paths . '/' . $name , $filep , FTP_BINARY );

}

if (!$i) {
echo " آپلود با خظا روبه رو شد !";
} else {


echo " آپلود کامل شد . $ftp_server";
}



ftp_close($conn_id);
}
}
?>

$ M 3 H R D A D $
سه شنبه 06 فروردین 1392, 11:14 صبح
سلام بفرمایید :

<?php

function get_extension($file,$length=-1)
{
$p = strrpos($file,".");
$p++;
if($length!=-1){
$ext = substr($file,$p,$length);
}
if($length==-1){
$ext = substr($file,$p);
}
$ext = strtolower($ext);
return $ext;
}

//2meg max
ini_set("upload_max_filesize","20M");

//turn on file uploads
ini_set("file_uploads","1");

//set your temp dir
ini_set("upload_tmp_dir","/tmp");

//set post size large enough to accomidate
//3 100meg files and some overhead
ini_set("post_max_size","180M");

?>
<html>
<head>
<title>Upload-ftp Form</title>
</head>
<body>
<?php

//see if we have submited and that the files array has been set
if((isset($_POST['submit'])) && @$_POST["submit"]=="submit"&& (is_array(@$_FILES['userfiles'])) )
{

$ftp_user_name="ac@site.ir"; //change to ftp username
$ftp_user_pass="password"; //change to ftp password
$ftp_server="ftp.site.ir"; //change to ftp url
$ftp_dump_dir="uploads_folder"; //change to destination directory

//go through all the files
for($x=0;$x<count($_FILES['userfiles']['name']);$x++)
{
if($_FILES['userfiles']['name'][$x]!="none")
{
if(($_FILES['userfiles']['size'][$x]!=0))
{
if($_FILES['userfiles']['size'][$x]<=20971520)
{
if( get_extension($_FILES['userfiles']['name'][$x],3)=="mp3" )
{
if(is_uploaded_file($_FILES['userfiles']['tmp_name'][$x]))
{
//file has been uploaded!
echo "file ".$_FILES['userfiles']['name'][$x]." uploaded!<br>";
//conect to ftp server
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// check connection
if ((!$conn_id) || (!$login_result))
{
echo "FTP connection has failed!<br>";
echo "Attempted to connect to $ftp_server for user $ftp_user_name";
exit;
}
else
{
echo "Connected to $ftp_server! <br>";
//set PASV mode
if(!ftp_pasv($conn_id,TRUE)){
echo "Could not enter PASV mode!";
}

$filename = md5(time().$_FILES['userfiles']['name'][$x]);
$filename.= ".".get_extension($_FILES['userfiles']['name'][$x],3);

//change directory
if (@ftp_chdir($conn_id, $ftp_dump_dir))
{
//maybe you want to make sure we are in the correct directory
echo "Current directory is now : ", ftp_pwd($conn_id), "\n";

}
else
{
//you want to know if it didn't work
echo "Couldn't change directory\n";
}

//upload the file and let the user know what happened

if(ftp_put($conn_id,$filename,$_FILES['userfiles']['tmp_name'][$x],FTP_BINARY))
{
echo "File ".$_FILES['userfiles']['name'][$x]." was sent successfully<br>";
echo "File was named ".$filename."<br>";
}
else
{
echo "There was a problem sending file ".$_FILES['userfiles']['name'][$x]."<br>";;
}

// close the FTP stream

ftp_close($conn_id);

}


}
else
{
echo "File was not uploaded!<br>";
}
}
else
{
echo "khataye format file (passwand) <br/>";
}
}
else
{
echo "khataye hajm ziadi <br/>";
}

}
}
}
}
?>
<p>Upload Images here, 10 images at a time, hit back after upload to upload more. (20M MAX)</p>
<p>
<form name="fileup" method="post" enctype="multipart/form-data" action="">
<input type="file" name="userfiles[]"><br>
<input type="file" name="userfiles[]"><br>
<input type="file" name="userfiles[]"><br>
<input type="file" name="userfiles[]"><br>
<input type="file" name="userfiles[]"><br>
<input type="file" name="userfiles[]"><br>
<input type="file" name="userfiles[]"><br>
<input type="file" name="userfiles[]"><br>
<input type="file" name="userfiles[]"><br>
<input type="file" name="userfiles[]"><br>
<br>
<!-- change below to your max -->
<input type="hidden" name="MAX_FILE_SIZE" value="200000000">
<input type="submit" value="submit" name="submit">
</form>
</p>
</body>
</html>

$ M 3 H R D A D $
سه شنبه 06 فروردین 1392, 11:16 صبح
اینو

ini_set("post_max_size","180M");
نسبت به حجم فایلتون کم کنید یا زیاد

hashem64
چهارشنبه 07 فروردین 1392, 02:29 صبح
سلام هیچ کدوم از کد ها جواب نمیده ؟

صفحه سفید سفید

$ M 3 H R D A D $
چهارشنبه 07 فروردین 1392, 10:12 صبح
این کد ها امتحان شده
حتما مشکل از هاست شماست
چه ورژن php نصب دارید ؟

hashem64
چهارشنبه 07 فروردین 1392, 17:57 عصر
ورژن PHP version 5.3.22 هست دیگه روی هاست هر کارش میکنم جواب نمیده البته یه بار تمامی محتوای آپلو را آورد و فایل را انتخاب کردم و بودن هیچ خطایی آپلود کرد ولی سری دوم دیگه محتوای آپلود را اصلا نشون نداد و تا الان هیچ چیز نشون نمیده دیگه

hashem64
پنج شنبه 08 فروردین 1392, 15:43 عصر
راهنمایی نمی کنید دیگه

$ M 3 H R D A D $
پنج شنبه 08 فروردین 1392, 16:06 عصر
این کد برای آپلود و ارسال به اف تی پی هست دوست عزیز
شما همین منظور و داشتید داشتید دیگه؟

arenaw
پنج شنبه 08 فروردین 1392, 16:11 عصر
توی فایل php.ini یه قسمتی هست ماکسیموم سایز فایلو مشخص میکنه : upload_max_filesize = ????
نمیدونم شایدم اشتباه بگم، ولی در صورتی که مثلا حجم اون 2 مگابایت مشخص شده باشه، در صورتی که حجم فایلی که میخواید آپلود کنید 3 مگابایت باشه، اصلا به کد ها نمیرسه و همون اول که فایلو داخل متغیر میریزید اجرای کدها تموم میشه

$ M 3 H R D A D $
پنج شنبه 08 فروردین 1392, 16:16 عصر
این کد وی بی نیست ؟ منظورتون و نمیفهمم

arenaw
پنج شنبه 08 فروردین 1392, 16:23 عصر
این کد وی بی نیست ؟ منظورتون و نمیفهمم
اگه منظورتون با منه، آره ویبیه، امضامه ربطی به پستی که الان گذاشتم نداره

hashem64
پنج شنبه 08 فروردین 1392, 18:59 عصر
ولی هنوز کار من راه نیفتاده

arenaw
پنج شنبه 08 فروردین 1392, 19:24 عصر
این کد رو اول کدهات اضافه کن :


ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');

hashem64
پنج شنبه 08 فروردین 1392, 20:00 عصر
متاسفانه این کد نیز هیچ تاثیری نزاشت والبته بین کد های خودم جاش دادم که باز فایل های با حجم بالا را آپلود میکنه

arenaw
پنج شنبه 08 فروردین 1392, 20:23 عصر
متاسفانه این کد نیز هیچ تاثیری نزاشت والبته بین کد های خودم جاش دادم که باز فایل های با حجم بالا را آپلود میکنه
این کد باعث میشه ارور هایی که خود پی اچ پی تولید میکنه خاموش بشه تا حداکثر سایز 64 مگابایت
حالا شما خودت میتونی با این کد مثلا از آپلود فایل های بیشتر از 6 مگابایت جلوگیری کنی:


if($_FILES['file']['size'] > (6 * (1024*1024)) )
// UPLOAD NAKON!!!!
else
// UPLOAD KON!!!!

$ M 3 H R D A D $
پنج شنبه 08 فروردین 1392, 23:37 عصر
تغییرات اعمال شد
لطفا کلاس و فایل ایندکس و فایل httaccess و اینجا بگذارید تا دیگر دوستان استفاده کنند