Page 1 of 1

FTP upload MP3 via PHP script problem

Posted: Mon Aug 13, 2007 12:08 pm
by charbsk
feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]


I made a PHP script that allows me to upload files to FTP, I can upload images and documents with no problems, but when I go to upload an MP3, it uploads the file but has a size of 0KB on the server. I set the Max upload limit to 10MB and I'm uploading a 4MB MP3 file. Any help would be appreciated.

PHP Code:

Code: Select all

<?php

// FTP Configuration
$FTP_User = "$username";
$FTP_Pass = "$password";
$FTP_Host = "###";
$FTP_Root = "$dir";

// If the form was submitted
if (isset($action) && $action == "submit") {

	if ($_FILES['File_1']['size'] > $MAX_FILE_SIZE)
	{
		echo "Error: $Filename exceeds upload limit";
		exit;
	}
	
	echo $_FILES['File_1']['size'];
	echo $MAX_FILE_SIZE;

	if ($dir == "-1")
	{
		echo "Error: Please choose a File Type to upload";
		exit;
	}

    // Connect to the ftp address
    $Connect = ftp_connect($FTP_Host);

	if (!$Connect)
	{
		echo "Error: Could not connect to ftp server<br>";
		exit;
	}

		echo "Connected to $FTP_Host<br>";

    // Login
    $login = ftp_login($Connect, $FTP_User, $FTP_Pass);
	
	//Turns passive mode on
	$passive = ftp_pasv ($Connect, true );

	echo "Current directory is now: " . ftp_pwd($Connect) . "<br>";
	
	if (ftp_chdir($Connect, "$FTP_Root")) 
	{
	echo "Current directory is now: " . ftp_pwd($Connect) . "<br>";
	}	else echo "Cannot change directory"; 

	$contents = ftp_nlist($Connect, ".");

	// output $contents
	print_r($contents); 
	
	// check upload status
	if (!passive){
		echo "Failed to enter passive mode.<br>";
	}
	else {
		echo "Entered passive mode.<br>";
	}

	if (!$login)
	{
		echo "Error: Could not log on as $FTP_User<br>";
		ftp_quit($Connect);
		exit;
	}
	
	echo "Logged in as $FTP_User<br>";

    // Set the filename to be uploaded
	$Filename = $_FILES['File_1']['name'];
	$myFile = $_FILES['File_1'];
	  
      if (file_exists($Filename))
      {
          echo "The file $Filename exists<BR>";
      }
      else
      {
          echo "The file $Filename does not exist<BR>";
      }
		
	$destination_file = $FTP_ROOT.$_FILES['File_1']['name'];

    // Set the local resource (the file that will be uploaded)
    $file = $myFile['tmp_name'];

    // If the file was successfully uploaded
	$upload = ftp_put($Connect, $destination_file, $file, FTP_BINARY);
	
	if (!$upload)
	{
        // Show success message
        echo "There was a problem uploading $destination_file";
    }
    else
    {
        // Else show error message
        echo "Successfully uploaded $Filename";
		
    }
	ftp_close($Connect);
}

?>
Form Code:

Code: Select all

<html>
<head>
<title> PHP FTP Upload Test </title>
</head>
<body>
<table>
<form method="post" action="?action=submit" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="10000000">
<tr>
<td>Username:</td>
<td><input type="text" name="username" size="30"></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="password" size="30"></td>
</tr>
<tr>
<td>File Type:</td>
<td><select name="dir">
	<option value="-1">File Type</option>
	<option value="/httpdocs/charbel/upload/">Image</option>
	<option value="/httpdocs/charbel/upload/">PDF</option>
	<option value="/httpdocs/charbel/upload/">MP3</option>
	<option value="/httpdocs/charbel/upload/">Video</option>
	</select>
</td>
</tr>
<tr>
<td>File:</td>
<td><input type="file" name="File_1" size="30"></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="Submit"></td>
</tr>
</form>
</table>
</body>
</html>

feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]

Posted: Mon Aug 13, 2007 12:10 pm
by thiscatis
What is the PHP upload limit?
<input type="hidden" name="MAX_FILE_SIZE" value="10000000"> is rather outdated.