Failed to open stream: No such file or directory
Salut, je suis nouveau sur le php et je suis en train de travailler sur le téléchargement d'images et de les recadrer et enregistrer bth télécharger et recadrée de l'image dans zend sur windows 7 mais il me donner ces erreurs. Merci de m'aider à résoudre ces erreurs.
Warning: imagecreatefromjpeg(public/image/) [<a href='function.imagecreatefromjpeg'>function.imagecreatefromjpeg</a>]: failed to open stream: No such file or directory in C:\wamp\www\ModuleEx.com\application\modules\admin\controllers\IndexController.php on line 64
Warning: imagecopyresampled() expects parameter 2 to be resource, boolean given in C:\wamp\www\ModuleEx.com\application\modules\admin\controllers\IndexController.php on line 68
Warning: imagejpeg() [<a href='function.imagejpeg'>function.imagejpeg</a>]: Unable to open 'public/image/crop/' for writing: No such file or directory in C:\wamp\www\ModuleEx.com\application\modules\admin\controllers\IndexController.php on line 71
Voici mon controller.php code.
if(isset($_FILES['file']['name'])){ //user upload file
$file_name = stripslashes($_FILES['file']['name']);
$ext_idx = strrpos($file_name,".");
if(!$ext_idx) //hide this if ur app can upload without ext
echo "File invalid.";
else{
$ext_length = strlen($file_name) - $ext_idx;
$extension = strtolower(substr($file_name,$ext_idx+1,$ext_length));
//allowed extension
$ext_list = array("pdf", "doc","jpg", "jpeg", "gif", "png");
if(!in_array($extension, $ext_list))
echo "System can't support your extension.";
else{
$size = (2500 * 1024); //2500 Kb
$file_size=filesize($_FILES['file']['tmp_name']);
if($file_size > $size)
echo "File is oversize. Max 2500 Kb.";
else{
//change name
$file_name = "image".rand(10,1000).".".$extension;
$file_obj="public/image/".$file_name;
$copied = copy($_FILES['file']['tmp_name'], $file_obj);
if(!$copied)
echo "Failed.";
else
{
$file_data = array( 'file_name' => $file_name );
$this->view->file_obj=$file_obj;
}
}
}
}
}
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$targ_w = $targ_h = 150;
$jpeg_quality = 90;
$src = "public/image/".$file_name;
$img_r = imagecreatefromjpeg($src);
$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
imagecopyresampled($dst_r,$img_r,0,0,(int)$_POST['x'],(int)$_POST['y'],
$targ_w,$targ_h,(int)$_POST['w'],(int)$_POST['h']);
//header('Content-type: image/jpeg');
imagejpeg($dst_r,"public/image/crop/".$file_name,$jpeg_quality);
}
- merci de poster votre recadrage de l'image code de trop.
- imagecreatefromjpeg s'attend à une image et non pas le chemin où l'image doit être créée. suivre php.net/manual/en/function.imagecreatefromjpeg.php
- j'ai posté le code s'il vous plaît vérifier
Vous devez vous connecter pour publier un commentaire.
Oeil à cette "imagecreatefromjpeg(public/image/)" - ce n'est PAS une ressource d'image. Il ne fonctionne qu'avec un nom de fichier valide ressources comme
essayez ce code:
votre chemin n'est pas correct, vous devez utiliser le chemin absolu avec
__DIR__
par exemple.et votre nom de fichier est manquant. La prochaine entraîner des erreurs de la première erreur que votre image ne peut pas charger.