uploaden :(
lasdesigner - 17/07/2006 19:02
PHP beginner
Hallo, ik iemand mij helpen met het volgende script
<?php
class Video {
private $thumbUrl = '../movies/thumb/';
private $movieUrl = '../movies/movie/';
public function Upload($cat_id, $thumbNaam, $movieNaam, $thumbTmpNaam, $movieTmpNaam) {
$urlThumb = $this->thumbUrl.$cat_id.'/'.$thumbNaam;
$urlMovie = $this->movieUrl.$cat_id.'/'.$movieNaam;
$query1 = "
INSERT INTO
thumb
(url, naam, cat_id)
VALUES
('$urlThumb', '$thumbNaam', $cat_id)";
$thumb_id = DBM::insert($query1);
$query2 = "
INSERT INTO
movie
(url, naam, cat_id, thumb_id)
VALUES
('$urlMovie', '$movieNaam', $cat_id, $thumb_id)";
DBM::insert($query2);
echo $this->thumbUrl.$cat_id;
echo $thumbTmpNaam;
move_uploaded_file($thumbTmpNaam, $this->thumbUrl.$cat_id.'/');
move_uploaded_file($movieTmpNaam, $this->movieUrl.$cat_id.'/');
chmod($urlThumb, 0777);
chmod($urlMovie, 0777);
return 1;
}
}
?>
<?php
class Video {
private $thumbUrl = '../movies/thumb/' ;
private $movieUrl = '../movies/movie/' ;
public function Upload( $cat_id , $thumbNaam , $movieNaam , $thumbTmpNaam , $movieTmpNaam ) {
$urlThumb = $this -> thumbUrl . $cat_id . '/' . $thumbNaam ;
$urlMovie = $this -> movieUrl . $cat_id . '/' . $movieNaam ;
$query1 = "
INSERT INTO
thumb
(url, naam, cat_id)
VALUES
('$urlThumb ', '$thumbNaam ', $cat_id )" ;
$thumb_id = DBM:: insert ( $query1 ) ;
$query2 = "
INSERT INTO
movie
(url, naam, cat_id, thumb_id)
VALUES
('$urlMovie ', '$movieNaam ', $cat_id , $thumb_id )" ;
DBM:: insert ( $query2 ) ;
echo $this -> thumbUrl . $cat_id ; return 1 ;
}
}
?>
hij upload hem niet, maar alles komt wel goed in de database, ik snap er niks meer van. Kan iemand mij helpen?
3 antwoorden
Gesponsorde links
Maarten - 17/07/2006 19:03
Erelid
Logisch, hij zet hem eerst in de database en dan pas op de server.
Welke errors krijg je met error_reporting(E_ALL)?
lasdesigner - 17/07/2006 19:07 (laatste wijziging 18/07/2006 14:50)
PHP beginner
dezelfde output:
../movies/thumb/1/tmp/php7wVl4W succesvol toegevoegt
De chmodds zijn wel goed, de map waar die in hoort is 777 gechmodd, ik weet niet wat ik verkeerd doe, want hij komt gewoon weg niet in de map :S
Samen met Ontani heb ik verder gewerkt aan 't script, hij ziet er nu zo uit. Maar hetzelfde probleem is er nog steeds:
<?php
public function Upload($cat_id, $thumbNaam, $movieNaam, $thumbTmpNaam, $movieTmpNaam) {
$urlThumb = $this->thumbUrl.$cat_id.'/'.$thumbNaam;
$urlMovie = $this->movieUrl.$cat_id.'/'.$movieNaam;
$query1 = "
INSERT INTO
thumb
(url, naam, cat_id)
VALUES
('$urlThumb', '$thumbNaam', $cat_id)";
$thumb_id = DBM::insert($query1);
$query2 = "
INSERT INTO
movie
(url, naam, cat_id, thumb_id)
VALUES
('$urlMovie', '$movieNaam', $cat_id, $thumb_id)";
DBM::insert($query2);
chmod($this->thumbUrl.$cat_id.'/', 0777);
chmod($this->movieUrl.$cat_id.'/', 0777);
move_uploaded_file($thumbTmpNaam, '../movies/thumb/'.$cat_id.'/'.$thumbNaam);
move_uploaded_file($movieTmpNaam, '../movies/movie/'.$cat_id.'/'.$movieNaam);
chmod($urlThumb, 0777);
chmod($urlMovie, 0777);
echo "<b>De variabelen: </b><BR /> <BR />";
echo "cat_id: ". $cat_id." <BR /> thumbNaam: ".$thumbNaam." <BR /> movieNaam: ".$movieNaam." <BR /> ThumbTMPnaam: ".$thumbTmpNaam." <BR /> MovieTMPnaam: ".$movieTmpNaam." <BR /><BR />";
echo "Url thumb: ". $urlThumb ."<BR /> Url Movie: ". $urlMovie." <BR />";
return 1;
}
?>
<?php
public function Upload( $cat_id , $thumbNaam , $movieNaam , $thumbTmpNaam , $movieTmpNaam ) {
$urlThumb = $this -> thumbUrl . $cat_id . '/' . $thumbNaam ;
$urlMovie = $this -> movieUrl . $cat_id . '/' . $movieNaam ;
$query1 = "
INSERT INTO
thumb
(url, naam, cat_id)
VALUES
('$urlThumb ', '$thumbNaam ', $cat_id )" ;
$thumb_id = DBM:: insert ( $query1 ) ;
$query2 = "
INSERT INTO
movie
(url, naam, cat_id, thumb_id)
VALUES
('$urlMovie ', '$movieNaam ', $cat_id , $thumb_id )" ;
DBM:: insert ( $query2 ) ;
chmod ( $this -> thumbUrl . $cat_id . '/' , 0777 ) ; chmod ( $this -> movieUrl . $cat_id . '/' , 0777 ) ; echo "<b>De variabelen: </b><BR /> <BR />" ; echo "cat_id: " . $cat_id . " <BR /> thumbNaam: " . $thumbNaam . " <BR /> movieNaam: " . $movieNaam . " <BR /> ThumbTMPnaam: " . $thumbTmpNaam . " <BR /> MovieTMPnaam: " . $movieTmpNaam . " <BR /><BR />" ;
echo "Url thumb: " . $urlThumb . "<BR /> Url Movie: " . $urlMovie . " <BR />" ; return 1 ;
}
?>
Mijn output van mijn echo is correct:
cat_id: 5
thumbNaam: music.gif
movieNaam: music.gif
ThumbTMPnaam: /tmp/phputIwLA
MovieTMPnaam: /tmp/phpJsuoUF
Url thumb: ../movies/thumb/5/music.gif
Url Movie: ../movies/movie/5/music.gif
Wat doe ik toch verkeerd?
xSc - 19/07/2006 08:15 (laatste wijziging 19/07/2006 08:16)
Onbekend
Gebruik sowieso geen 777 chmod. Nergens voor nodig.
Wanneer je dit doet, omdat het script schrijfrechten nodig heeft, laat PHP dan gewoon de map aanmaken (met mkdir; let op: als PHP een map aanmaakt, moet de bovenliggende map tijdens deze actie schrijfrechten hebben; Na deze actie kan de bovenliggende map gewoon weer op 0755). Met chmod geef je de map 0755. PHP is de eigenaar, dus je kunt gewoon in de map schrijven.
Je weet verder niet of move_uploaded_file() slaagt. Als ik jou was zou ik er een foutafhandeling maken.
Haal variabelen buiten quotes (zie je query).
Gesponsorde links
Dit onderwerp is gesloten .